c#读取matlab格式文件提示找不到“mclmcrrt9_0_1.dll”问题
如题所示,c#读取matlab格式的文件(*.mat),结果报错,提示找不到“mclmcrrt9_0_1.dll”。
机器没有装matlab。应用程序的bin下面,只有一个MatlabNetNative.dll。
按照网上的教程,不必在服务器上装matlab,只须安装matlab runtime,然后将相关dll(在C:\Program Files\MATLAB\MATLAB Runtime\v901\runtime\win64)拷贝到应用程序bin下即可。

注意matlab有好多个版本。我这里提示缺乏mclmcrrt9_0_1.dll,按照matlab官网上的matlab runtime页面,我应该安装R2016a版本。

下载R2016a,安装;然后又按照官网页面说的,因为安全性问题,又下载了update安装。然后将C:\Program Files\MATLAB\MATLAB Runtime\v901\runtime\win64下的所有dll都拷贝到应用程序下。
有点奇怪的是,刚开始还是不行。我重启了机器后才可以。不过将应用程序发布出来,拷贝到其他同样没有安装matlab的机器,也可以。说明并不依赖机器是否安装matlab。
参考文章:
运行matlab编译出的程序缺少mclmcrrtx_x.dll
2023.04.13
如果服务器想要处理matlab文件,一定要安装matlab运行时(matlab compile runtime),光靠上面这样,拷贝几个dll是无济于事的(当然这一步也不可或缺)。比如说,我在开发机器上安装了matlab compile runtime,然后从安装文件夹里拷贝了那几个dll到应用程序。在本机调试,没有问题;发布,部署到服务器,就不行了。服务器同样要安装matlab compile runtime。
浙公网安备 33010602011771号