2011-05-05 83 views
2

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

我开始了我的移动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框架在其属性从.net 2.0〜 .Net 4.0(以及它的客户端模式)和.Net 3.5。

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

我试图在这里StackOverflow的许多解决方案,以及MSDN,说明设置一个app.config甚至改变了应用程序池由于某种原因敬虔...

无论如何,每一个解决方案,我已经尝试失败,指出它仍然使用2.0。

我已经使用'IL DASM',它声明它使用3.5/4.0构建。

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

任何帮助将非常感激。

+0

如果有人正在寻找一种方法来复制问题,只需写一个类来实例化LuaInterface中的Lua类。发生这种情况时会抛出异常。 – rvIceBreaker 2011-05-05 22:05:36

+0

http://stackoverflow.com/questions/3844057/loading-luainterface-in-net4 – sylvanaar 2011-05-06 12:41:16

+0

我看了之前的Lua511来源。它奇怪的行为,有时我已经能够成功地建立它没有任何变化,有时有几个'无法将转换为'例外。我不明白这会如何影响LuaInterface库的原始错误。我会玩它,看看会发生什么... – rvIceBreaker 2011-05-08 05:17:59

回答

0
+0

我试过第二种解决方案。第一个我甚至不确定是否相关,看我如何制作一个win32应用程序/库。 – rvIceBreaker 2011-05-08 05:14:02

4

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

你需要重写XML线路有:

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

我不能告诉你这个方法是如何强大的是,因为我只试过像读/写串,dofile处理等

一些简单的东西

希望它也适用于你。