本文主要是介绍C#与MATLAB联合编程,出现The MATLAB Runtime instance could not be initialized解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
工作中使用到了C#与MATLAB联合编程,最近在使用过程中遇到一个奇怪的问题。前期完成代码的编译与调用均没有问题,突然一天在使用中提示The MATLAB Runtime instance could not be initialized
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)
反复检查机器的环境,也没有发现问题,因为使用的机器就是开发机器,不知原因何在。同时在C#中更新了MATLAB的动态库与MWArray.dll文件仍然存在该问题。
解决方案:
问题所在实则是matlab再某个目录生成的临时文件夹导致调用失败,但是并不是所有操作系统都会导致这个错误。例如我本机装的win11专业版,已出现多次该问题导致程序无法运行。下面是临时文件的路径。
C:\Users\Administrator\AppData\Local\Temp\Administrator\mcrCache9.5
将mcrCache9.5文件夹删除,再次运行程序可以正常运行了。(注意mcrCache9.5文件夹与你安装的MATLAB版本有关)
这篇关于C#与MATLAB联合编程,出现The MATLAB Runtime instance could not be initialized解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!