因此,我有一个用C#2.0编写的第三方.dll,需要强类型输入,并且我无法访问源代码。我找到了几篇有关如何反汇编.dll以及如何使用强命名 key 文件将其重新组装的文章。

我遇到的问题是VS2010将其重新编译为.NET 4.0 .dll而不是2.0 .dll(我们的应用程序当前所在的版本)。我无法在项目中包含"new" dll,因为它给我带来了运行时错误:“此程序集是由比当前加载的运行时新的运行时构建的,无法加载。”如果不对dll进行签名,则会收到“程序集类型不强”的提示。错误。

有没有一种方法可以使用VS2010 ilasm.exe在2.0框架中重新编译此.dll?

最佳答案

您可能正在使用Visual Studio 2010命令提示符。当您键入“ilasm.exe”时,它将设置环境以运行C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe。版本错误,您需要v2.0.50727\ilasm.exe。输入全名。或复制并编辑vc\bin\vsvarsall.bat

10-05 21:12
查看更多