我是新手在.net app中使用matlab编译的代码 . 默认情况下,安装了64位版本的Matlab,我编译了一个lib,也就是64位 . 然后我安装了64位MCR并试图在我的程序中使用代码(只是制作了一个测试控制台应用程序)并且它工作正常 .

但是,然后我尝试在实际的应用程序中使用它,事实证明应用程序是在32位开发的 . 所以,我安装了32位Matlab,再次编译了lib,得到一个32位的dll,但它不起作用 . 当我尝试创建一个类时,我得到了这个:

The type initializer for 'MathWorks.MATLAB.NET.Utility.MWMCR' threw an exception.
{"An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)"}

从我得到的,这是因为我在32位程序中使用64位lib . 我绝对不是!我下载了一个程序,检查dll是32还是64,它告诉我我的lib是32位 .

我认为这可能是MCR问题并安装了32位MCR . 它仍然无法正常工作 . 发生同样的异常 .

也许它正在尝试使用64位MCR,即使安装了32位MCR?我怎样才能确保它使用正确的?

或者这个问题是另一个问题?