Matlab生成x86 dll,但它需要是x64

时间:2017-03-29 17:40:56

标签: asp.net asp.net-mvc matlab dll matlab-compiler

我的asp.net应用程序在使用matlab函数时遇到了一些麻烦。

我在matlab R2016a上生成了matlab函数,然后通过matlab编译器/ dotnetbuilder生成了Dll'

在localhost,我用VS2013构建一个MVC Web应用程序,它接受一个整数输入,在后端它生成随机数计数输入,而不是matlab函数得到这些随机数的平均值。

但是,它在localhost上运行正常,但在安装了Matlab Compiler Runtime 9.0.1的服务器上失败。例外情况是: "无法加载DLL' mclmcrrt9_0_1.dll':找不到指定的模块。 (HRESULT异常:0x8007007E)"

所以我用依赖性walker查找,我看到了这个;

focused line is belong to the dll that generated via matlab Library compiler of R2016a

它表示matlabs生成的dll是x86的cpu类型,甚至整个应用程序都是x64。

问题: 1)我该如何解决这个问题 2)为什么这个应用程序在我自己的PC上运行时没有例外

任何答案都表示赞赏,如果您需要任何其他信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

我做了同样的事情,遇到了同样的问题,由于安装了Matlab RunTime之后在Windows系统中定义了新的环境变量,直到重新启动服务器后问题才得以解决。 所以先重启服务器。 如果使用64位服务器,请确保您已将Matlab 64位编译为dll。