问题描述
C#调用matlab混合编程时总是出现类型初始值设定项引发异常这种错误,请问该如何解决?matlab源码如下:function[y,z]=myadd2(a,b)%dummyfunction,justtodemonstratetheideay=a+b;z=a+2*b;endC#源码如下usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingMathWorks.MATLAB.NET.Arrays;usingMathWorks.MATLAB.NET.Utility;namespacemyapp{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){test.demooutput=newtest.demo();//将demo类实例化MWArraya=2;//建立MWArray类作为以便matlab能够识别MWArrayb=3;MWArray[]x=output.myadd2(2,a,b);//”2”为输入的个数MWNumericArrayy=(MWNumericArray)x[0];MWNumericArrayz=(MWNumericArray)x[1];//提取输出y、zdouble[,]y1=(double[,])y.ToArray(MWArrayComponent.Real);double[,]z1=(double[,])z.ToArray(MWArrayComponent.Real);//将y、z转换为C#数组doubley2=y1[0,0];doublez2=z1[0,0];textBox1.Text=y2.ToString();textBox2.Text=z2.ToString();}}}
解决方案
解决方案二:
有可能是配置文件的错误
解决方案三:
也有可能是程序集名称和默认命名空间错误
解决方案四:
我也有这个问题,怎么解决的?
解决方案五:
跟踪到里面去看看嘛
解决方案六:
兄弟,这个问题你解决了吗?我也遇到同样问题
解决方案七:
我也是遇到这个问题,添加了环境变量、修改了目录中的中文和空格,但还是会出错。
解决方案八:
我也出现了这个问题,请问是怎么解决的啊?谢谢
解决方案九:
解决方案十:
输出改成64位
解决方案十一:
我也遇到这个问题,请问如何解决啊?我已经把项目属性—目标平台改为x64位了,还是不行
解决方案十二:
我也遇到了““MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。这个问题求告诉我怎么解决,谢谢啦
解决方案十三:
之前遇到过,查看下是不是MCR的版本不匹配导致的