我正在开发一个需要曲线拟合的项目。为了获得最佳结果,我选择使用MATLAB工具包。我创建了一个dll的代码,并尝试在C#.NET框架中使用它。该DLL在一个系统上成功运行,但在任何其他系统上均无法运行。 我得到以下异常:
Unhandled Exception: System.TypeInitializationException: The type initializer fo
r 'curve.cfit' threw an exception. ---> System.TypeInitializationException: The
type initializer for 'MathWorks.MATLAB.NET.Utility.MWMCR' threw an exception. --
-> System.TypeInitializationException: The type initializer for 'MathWorks.MATLA
B.NET.Arrays.MWArray' threw an exception. ---> System.DllNotFoundException: Unab
le to load DLL 'mclmcrrt7_17.dll': The specified module could not be found. (Exc
eption from HRESULT: 0x8007007E)
at MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode)
at MathWorks.MATLAB.NET.Arrays.MWArray..cctor()
--- End of inner exception stack trace ---
at MathWorks.MATLAB.NET.Utility.MWMCR..cctor()
--- End of inner exception stack trace ---
at curve.cfit..cctor()
--- End of inner exception stack trace ---
at curve.cfit..ctor()
我想知道为什么会这样,以及如何解决这个问题?我需要在多台机器上部署我的项目。我该怎么办?
提前谢谢你:)
答案 0 :(得分:0)
该错误告诉您程序找不到mclmcrrt7_17.dll。这是您需要在每台目标计算机上部署的MATLAB编译器运行时的一部分。看起来您尚未部署MATLAB编译器运行时。
运行时可再发行文件可在此处获取:http://www.mathworks.co.uk/products/compiler/mcr/index.html