我使用matlab 2013编译了一个小程序
我可以在我的dll中看到:
Test.TestMethods
我的所有职能
我已将其添加为我的dot net项目的参考,并从matlab bin \ win64 \ v2.0文件夹中添加了MWArray
dll。
**更新:应用程序在matlabe生成的代码中粉碎此行:
mcr= new MWMCR("", ctfFilePath, embeddedCtfStream, true);
如果我嵌入了ctf文件 - 它会粉碎,如果我没有嵌入它,它会抛出异常。
我已将程序设置为针对X64进行构建。
尝试创建对象后:
Test.TestMethods test = new Test.TestMethods();
我的应用程序崩溃了。 我只能在外部Visual Studio实例中看到:
Unhandled exception at 0x0000000001D36E60 (m_interpreter.dll).
Access violation reading location 0x00000000A5CE3920.
我不知道从哪里开始......
EDIT1:这是ctor(还有一个静态cctor):
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 20 (0x14)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ldsfld class [mscorlib]System.Exception Test.TestMethods::ex_
IL_000b: brfalse.s IL_0013
IL_000d: ldsfld class [mscorlib]System.Exception Test.TestMethods::ex_
IL_0012: throw
IL_0013: ret
} // end of method TestMethods::.ctor
答案 0 :(得分:1)
您不能从.NET 4.5程序集调用MATLAB生成的.NET库,并且在连接VS调试器时它也会崩溃。