此程序集由比当前加载的运行时更新的运行时构建,无法加载

时间:2016-04-03 17:18:30

标签: .net windows .net-assembly

我有一个旧的.net应用程序,一个游戏的mod加载器。我想修改它以支持类似的游戏,但是当我用新版本切换包含的dll并尝试加载mod脚本时,会收到程序集错误。

有没有办法让应用与新版dll兼容?

我联系了该应用的原作者,但他们并不想更新旧项目。我也没有消息来源。

两个dll都是v 1.0.0.0,但是一个用于net 2.0,而较新的用于net 4.0

excutable是为net 2.0构建的,所以cff explorer说,虽然反射器说它是3.5。

这有什么意义吗?

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您正在尝试在.NET Framework应用程序中加载.NET Framework 4.0程序集。试图实现这一点似乎离trivial很远,在尝试之前,我会尝试以下方法:

如果旧解决方案未被混淆并且您没有违反某些版权声明,我会尝试使用反射器(或其免费兄弟,Telerik decompiler)来反编译旧程序集,创建项目并针对它们进行编译.NET Framework 4.0。

答案 1 :(得分:0)

这意味着您的项目是针对较低的框架版本(如1.0,2.0,3.5或4.0)构建的,并且您尝试引用使用较新框架版本构建的程序集。你不能这样做。

如果您需要引用在以后的框架版本中构建的代码,那么您必须change your project来定位该框架版本或更高版本。如果你必须这样做那么你也可以将目标定为4.5,因为它更新近。

针对较新框架版本的更改可能非常简单,但有时会产生您需要解决的其他参考问题。希望不是,所以你可以跨过它,如果你来的话。