在C#.NET中使用时,matlab dll会抛出异常

时间:2014-03-06 21:01:27

标签: c# .net dll matlab

我正在开发一个需要曲线拟合的项目。为了获得最佳结果,我选择使用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()

我想知道为什么会这样,以及如何解决这个问题?我需要在多台机器上部署我的项目。我该怎么办?

提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

该错误告诉您程序找不到mclmcrrt7_17.dll。这是您需要在每台目标计算机上部署的MATLAB编译器运行时的一部分。看起来您尚未部署MATLAB编译器运行时。

运行时可再发行文件可在此处获取:http://www.mathworks.co.uk/products/compiler/mcr/index.html