【发布时间】:2011-05-24 15:49:00
【问题描述】:
我正在尝试编译使用 .NET 模块的 Matlab (R2010b) 应用程序,但我遇到了 MCR 和 .NET 模块不兼容的问题:
- .NET 模块是使用 Visual Studio 2010 编译的。
- MCR 配置为使用 Visual Studio 2010。
- 该应用程序还包含一些使用 Visual Studio 2010 构建的 Mex 文件,它们在 Matlab 和 MCR 中都可以正常工作。
如果我从 Matlab cli 加载程序集,一切正常,但是一旦我编译应用程序并从 cmd.exe 运行它,就会引发错误,指出程序集是使用比当前更新的运行时构建的加载。我认为 Matlab R2010b 是用 Visual Studio 2008 构建的,并认为这是问题所在,但我想知道是否有人解决了这个问题?
【问题讨论】:
-
来自mathworks.com/help/techdoc/matlab_external/brpb5k6-1.html:“MATLAB 接口支持 .NET Framework 2.0 版的功能,并适用于 2.0 版及其兼容版本(3.0 版和 3.5 版)。MATLAB 支持加载框架 4.0 版如果您的系统上安装了 4.0 版,则程序集。但是,尚未测试特定于 4.0 版的功能。"
-
这与 VS 版本无关,而是为哪个目标框架编译程序集。使用 VS2008 和 VS2010,您可以编译所有 .NET 版本,包括旧版本。如果您没有使用特定的 .NET 4 功能,那么您可以尝试编译为 .NET 3.5
-
但是如果我从 cli 加载它,程序集就可以正常工作,所以我认为问题不在于 .NET 4.0 中的不兼容功能。
标签: .net matlab matlab-deployment matlab-compiler