C#Matlab混合编程类 初始化问题解决方法

时间:2023-03-09 08:02:29
C#Matlab混合编程类 初始化问题解决方法

************** 异常文本 **************

  System.TypeInitializationException: “myPlus.matClass”的类型初始值设定项引发异常。 ---> System.TypeInitializationException: “MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。 ---> System.TypeInitializationException: “MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。 ---> System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

  问题所在:

  本人初学者,刚开始在C#和matlab之间的混合编程上试试水,刚模仿一个例程来试试手,就发现在和例程操作完全相同的情况下出现了一个类的实例初始化始终报错,过不去,但是单看这语句是没有任何问题的(说明:前面的dll文件的调用已经申明)

  matClass matPlus = new matClass();

  但是问题还是出来了,单步调试也是一直通过不过去。查阅了关于错误的信息,但是解决的都基本是换了一个matlab版本才解决的,偶然看见说HRESULT:0x8007000B的错误和编译平台有些关系,就开始着手试试是不是因为我这平台的问题导致的,果然,换了编译的平台就好了。

  具体解决:

  1:找到解决方案 右键-属性

  2:编译平台选择Any CPU