Matlab函数永远不会在.net上结束

时间:2018-07-17 18:52:52

标签: .net c#-4.0

我必须将一些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中正常工作。

1 个答案:

答案 0 :(得分:0)

我发现了问题。发送dll的人告诉我,它是64位版本,但显然不是。要修复,我下载了MCR的32位版本,仅此而已。要提及的一件事也是一个问题,就是旧版本的Matlab编译器不会显示此消息: tag.m was a lesson

所以我在导出类时遇到了麻烦,解决方案是将构造函数封装在一个单独的脚本中以获得类结构。