环境:win7 64为 matlabR2010a 64位
asp.net mvc4下加入Matlab的数据类型,进行Matlab混合编程。编译不报错,访问报错(控制台应用程序不报错),报错信息:
测试代码:
public ActionResult XieJuanTest()
{
//输入参数1,小时刻度的训练数据273个
double[] data = { 37376, 53129, 68420, 71005, 54516, 53169, 59146, 59405, 59587, 63072};
MWNumericArray mdata = new MWNumericArray(273, 1, data);//把参数1转换成matlab需求的格式
return View();
}
寻求高手帮忙!!!!
解决了,是因为VS2012默认启用32位的IIS Express,而dll是64位的。所以修改注册表,让VS2012启用64位的IIS Express就OK了。
运行regedit
在HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects\ 下添加DWORD值 "Use64BitIISExpress", 值为1
可能出的问题还不一样,我的问题这样就没能解决
我的解决办法是在“工具”->“选项”-->"项目和解决方案"-->"web项目"
将“对网站和项目使用IIS Express的64位版本”选项打钩点击确定即可
就是字面意思啊,要不就是缺少必需的DLL,要么就是你引用的这个DLL有问题。还能咋样,清理了再生成吧
那为什么在控制台应用程序里面可以呢?相同的dll (清理过n次了,没用)
dll引用有问题.
应用程序池修改为 32 位。
还没有发布出去..........在VS中将项目的生成目标平台改为了X86还是不行
@green66: 修改为 64 位。
@green66: 你的 matlab 是 64 位的,那么你的进程应该以 64 位运行。你可以在“任务管理器”中查看你的进程是否是以 64 位运行的。
@Launcher: 和Visual Studiou 的位数有关吗?我的VS是32位
@green66: 没有关系。请问你知道运行时,宿主你的 asp.net mvc4 项目的进程是哪个吗?
@Launcher: 解决了,是因为VS2012默认启用32位的IIS Express,而dll是64位的!谢谢!
@CaptainTina: 那怎么解决呢?我也遇到了同样的问题