问题描述
- vs2010 调用MATLAB2014b 的NET Assembly 报错
-
用matlab2014b 写好m文件用打包为NET Assembly 程序集,选择是Framework4.0
编译没有问题,用VS2010 的win32 控制台程序 调用也没有问题,但是用VS2010的 webapplication 调用就报如下错误:[BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)]
MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) +0
MathWorks.MATLAB.NET.Arrays.MWArray..cctor() +560[TypeInitializationException: “MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。]
MathWorks.MATLAB.NET.Utility.MWMCR..cctor() +1824[TypeInitializationException: “MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。]
databaseTest.FinanceCurrentValue..cctor() +0[TypeInitializationException: “databaseTest.FinanceCurrentValue”的类型初始值设定项引发异常。]
代码如下
using MathWorks.MATLAB.NET.Arrays; //MATLAB提供的MWArray.dll
using databaseTest;//自己编译的databaseTest.dll
//调用程序
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("开始测试");
FinanceCurrentValue finc = new FinanceCurrentValue();
MWArray mw1 = (MWNumericArray) 1;
}按照网上提供的解决方案,修改build 的目标和配置管理的为x64 或者是Any Cpu ,仍然报上面的错误,MCR我已经装过了,环境 变量 也已经配置了。
解决方案
http://blog.sina.com.cn/s/blog_68c4a1b501012cf6.html