我必须将一些matlab函数导入到.net Web API。使用matlab 2015b的matlab编译器将matlab代码编译为dll。问题是当我尝试在dll上使用方法时,进程以永无止境的中间状态进入,没有返回或感知。有人已经有类似的东西了吗?
我正在Visual Studio 2017中使用.net framework 4.0,并具有以下配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
该代码是使用matlab 2015b 64位编译的,其他所有内容也都使用64位(MWArray.dll,MRC 9.0)。
我应该提到的其他事情是,我已经尝试将简单的matlab函数编译为dll,并且它们使用相同的设置工作了。编译为dll的代码在matlab中正常工作。
答案 0 :(得分:0)
我发现了问题。发送dll的人告诉我,它是64位版本,但显然不是。要修复,我下载了MCR的32位版本,仅此而已。要提及的一件事也是一个问题,就是旧版本的Matlab编译器不会显示此消息: tag.m was a lesson
所以我在导出类时遇到了麻烦,解决方案是将构造函数封装在一个单独的脚本中以获得类结构。