2

我的一个项目使用 LuaInterface。我已经开始将它从 XNA 迁移到 OpenTX,并在 .Net 4.0 下重写它。

我开始移动我的 Lua 类,发现调试时出现异常(FileLoadException)

Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.

当我重建 LuaInterface 时,我将 .Net Framework 的属性从 .Net 2.0 更改为 .Net 4.0(以及它的客户端模式)和 .Net 3.5。

这两个设置都给我一个错误,说明它仍然使用 2.0 构建。

我在 StackOverflow 和 MSDN 上尝试了许多解决方案,声明设置 app.config 甚至出于某些不敬虔的原因更改应用程序池......

无论如何,我尝试的每个解决方案都失败了,说明它仍然使用 2.0.

我使用了“IL DASM”,它声明它是使用 3.5/4.0 构建的。

关于发生了什么的任何想法?整天都在搞这个。我是否只是天真地认为更改单个设置可以解决我的问题?

任何帮助将不胜感激。

4

2 回答 2

4

当我尝试将 LUA 代码与我的 .NET4.0 项目集成时,我遇到了同样的问题。我没有重建 .dll,因为我无法从他们的存储库中签出 LuaInterface 项目文件。无论如何,我为我的小型测试应用程序重写了 app.config,到目前为止它似乎可以工作。

您需要重写的 xml 行是:

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

我无法告诉你这个方法有多强大,因为我只尝试了一些简单的东西,比如读/写字符串、doFile 等。

希望它也适用于你。

于 2012-11-07T14:07:10.950 回答
0

这似乎与您遇到的问题相同(不是我所在的地区,但由于没有其他人参与进来:-))

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/5d1186ec-ad55-4929-b1e4-8806cdc758af

http://msmvps.com/blogs/rfennell/archive/2010/03/27/mixed-mode-assembly-is-built-against-version-v2-0-50727-error-using-net-4-development-网络服务器.aspx

hth

于 2011-05-06T11:49:37.977 回答