C# + MATLAB报错:System.Exception:"MWArray assembly failed to be initialized"


报错截图:

之前遇到过类似的报错,这次都查了下,看了很多链接之后大家的解决方法有以下几种:

  • 检查MATLAB与VS的位数,有同学因为64位和32位系统的原因报过错。位数不一样时引用的.dll文件位置也不一样
    参考链接:https://blog.csdn.net/weixin_41661099/article/details/86731213

  • 缺少环境或环境变量:有的同学没有安装matlab安装MCRInstaller也可以,需要添加环境变量。但我这次报错添加了环境变量也没有变化,还是报同样的错
    参考链接:https://jingyan.baidu.com/article/19020a0a057462529d2842d6.html

  • 删除临时文件的路径:但这个方法我也觉得够呛能给客户用啊

    参考链接:

    'https://ww2.mathworks.cn/matlabcentral/answers/505208-mwarray-assembly-failed-to-be-initialized'

  • MATLAB试用许可证的问题:(尚无定论)
    参考链接:https://ww2.mathworks.cn/matlabcentral/answers/264138-dotnet-matlab-runtime-instance-could-not-be-initialized

  • 生成.dll文件时没有选择对应的.NET Framework版本
    参考链接:https://blog.csdn.net/daining424/article/details/102887613

  • matlab部署工具使用有误

    https://blog.csdn.net/yu_ncepu/article/details/87797953
    https://ww2.mathworks.cn/matlabcentral/answers/216971-mwarray-assembly-failed-to-be-initialized-in-c

  • 这个看不下去了,有关.dll文件的源代码,值得一看,但我现在看不下去
    参考链接:https://www.imooc.com/article/25469

next step
  • 删除临时文件
  • 重新部署生成
  • 重新引用