记录一次Matlab环境报错:The MATLAB Runtime instance could not be initialized
背景:Winform/Wpf开发的应用,因需要调用matlab生成的算法而安装了matlab2015b运行环境。应用平时正常运行,偶尔会出现环境崩坏导致程序出错(常见win10家庭版、企业版)。自己电脑(win10专业版)未出过这类问题,客户的机器偶尔会出现这个错误。
报错信息
System.Exception: MWArray assembly failed to be initialized
---> System.Exception: The MATLAB Runtime instance could not be initialized
---> System.ApplicationException: The MATLAB Runtime instance could not be initialized segv - SEVERE ERROR 在 MathWorks.MATLAB.NET.Utility.MWMCR..ctor(String componentId, String componentPath, Stream embeddedCtfStream, Boolean isLibrary) --- 内部异常堆栈跟踪的结尾 --- 在 MathWorks.MATLAB.NET.Utility.MWMCR..ctor(String componentId, String componentPath, Stream embeddedCtfStream, Boolean isLibrary)
处理
试过卸载重装matlab环境,有时有效有时无效,试过重装系统有效,但是过于费时。一直以为是其他电脑操作系统稳定性导致的问题(因为自己的电脑从没出现过)因此错误排除找错了方向。
实则是matlab再某个目录生成的临时文件夹导致调用失败,但是并不是所有操作系统都会导致这个错误。例如我本机装的win10专业版,同样存在此临时文件夹但并不会导致程序无法运行。下面是临时文件的路径。
C:\Users\Administrator\AppData\Local\Temp\Administrator\mcrCache9.0
需要删除的就是mcrCache9.0这个文件夹。
注意:
1.路径中的2个Administrator是当前登录的用户,如果用户名发生变化则同样要选择相关用户的路径。
2.mcrCache9.0根据安装的matlab运行环境的版本差异会不同,也可能是mcrCache9.3
路径来自:MWArray assembly failed to be initialized - (mathworks.cn)