gpt4 book ai didi

.net - MCR 和 .NET 不兼容

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:37 26 4
gpt4 key购买 nike

我正在尝试编译一个使用 .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 构建的,并且相信这是问题所在,但我想知道是否有人可以解决该问题?

最佳答案

解决方案是在已编译的 exe 旁边提供一个应用程序配置文件(foo.exe.config 用于名为 foo.exe 的应用程序),其中包含以下条目:

<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>

MATLAB .NET 界面是使用 .NET Framework 2.0 构建的,这意味着在没有应用程序配置文件的情况下加载 2.0 CLR。在 MATLAB 中运行时 <supportedRuntime>配置文件中的条目告诉 MATLAB 加载 4.0 CLR(如果可用)。

关于.net - MCR 和 .NET 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com