日期:2014-05-17  浏览次数:20374 次

急!求助64位服务器下matlab+asp.net编程问题
同样程序同样做法,在32位服务器上好用
到64位机器上就报如下错误了
未能加载文件或程序集“MWArray, Version=2.9.0.0, Culture=neutral, PublicKeyToken=e1d84a0da19db86f”或它的某一个依赖项。试图加载格式不正确的程序。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“MWArray, Version=2.9.0.0, Culture=neutral, PublicKeyToken=e1d84a0da19db86f”或它的某一个依赖项。试图加载格式不正确的程序。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[BadImageFormatException: 未能加载文件或程序集“MWArray, Version=2.9.0.0, Culture=neutral, PublicKeyToken=e1d84a0da19db86f”或它的某一个依赖项。试图加载格式不正确的程序。]

C/s下64位好用,但B/S下asp.net应用项目中,就报上面的错误。
我的做法:在64位机下安装的matlab编译了.dll控件,
matlab原代码:
function y = mymagic( x )
%MYMAGIC Summary of this function goes here
%   Detailed explanation goes here
y=magic(x);

end
asp.net核心代码:
   using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using MymagicPro;         
             int input = 3;
            MymagicPro.magicClass m = new magicClass();
            MWNumericArray x = new MWNumericArray(input);//创建Matlab数值数组对象
            MWArray[] argsout = new MWArray[1];
            MWArray[] argsin = new MWArray[] { x };
            m.mymagic(1, ref argsout, argsin);
            MWNumericArray y = argsout[0] as MWNumericArray;
   
asp.net matlab 服务器 function 64位服务器

------解决方案--------------------
在64位系统下对项目属性里的平台选择了X86。改为X64就可以了。

http://www.ilovematlab.cn/thread-160339-1-1.html
------解决方案--------------------
64位和32 在iis设置就行了。 
你情况很特殊, 你的iis能升级吗?
------解决方案--------------------
iis里设置对应的应用程序池,启用32位应用程序 =》True