C#调用matlab时,类型初始值设定项引发异常

C#建立动态链接库dll后,生成是成功的,但是调用时,会出现类型初始值设定项引发异常,具体错误如下:有关调用实时(JIT)调试而不是此对话框的详细信息,请参见此消息的结尾... C#建立动态链接库dll后,生成是成功的,但是调用时,会出现类型初始值设定项引发异常,具体错误如下:
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.TypeInitializationException: “MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。 ---> System.TypeInitializationException: “MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。 ---> System.TypeInitializationException: “MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。 ---> System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
在 MathWorks.MATLAB.NET.Utility.MWMCR.mclIsMCRInitialized()
在 MathWorks.MATLAB.NET.Utility.MWMCR..cctor()
--- 内部异常堆栈跟踪的结尾 ---
在 MathWorks.MATLAB.NET.Utility.MWMCR.SetResourceManager(ResourceManager resourceManager)
在 MathWorks.MATLAB.NET.Arrays.MWArray..cctor()
--- 内部异常堆栈跟踪的结尾 ---
在 MathWorks.MATLAB.NET.Arrays.MWNumericArray.get__Inf()
在 MathWorks.MATLAB.NET.Arrays.MWNumericArray..cctor()
--- 内部异常堆栈跟踪的结尾 ---
在 MathWorks.MATLAB.NET.Arrays.MWNumericArray.op_Implicit(Double[] values)
在 Demeter.SVM.button1_Click(Object sender, EventArgs e) 位置 D:\work\Demeter_svm\Demeter\SVM.cs:行号 120
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
求高手解答,谢谢。解决问题了,所有积分全部给你了。
展开
 我来答
匿名_热心网友
2012-01-01 · TA获得超过719个赞
知道大有可为答主
回答量:3827
采纳率:0%
帮助的人:8332万
展开全部
#include<stdio.h>
void printSeven(int n){
if(n==0)return;
printSeven(n/7);
printf("%d",n%7);
}
main(){
char s[10];
int i;
int n=0;
scanf("%s",s);
n=0;
for(i=0;s[i];i++)n=n*5+s[i]-'0';
printSeven(n);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
前端高手
2011-12-23 · TA获得超过2304个赞
知道大有可为答主
回答量:3612
采纳率:0%
帮助的人:8313万
展开全部
是不是权限问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一个西湖一才子
2011-12-20 · TA获得超过517个赞
知道答主
回答量:67
采纳率:100%
帮助的人:37.4万
展开全部
这个regsvr32 mwcomutil.dll注册了吗?
试试看
追问
注册过了,环境变量什么的也改过了,但是每次调用都出现这问题,以前也没遇到过,真的是没办法了
追答
你可以将MCRInstaller.exe从新安装一下到C盘,然后将再将regsvr32 mwcomutil.dll注册,就行了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式