我是新手在.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。它仍然无法正常工作。发生同样的异常。
即使安装了32位MCR,也许它正试图使用64位MCR?我怎样才能确保它使用正确的?
或者这个问题是另一个问题吗?