使用VS 2010 Ilasm.exe强烈命名第三方2.0 .dll

Sea*_*ean 9 c# visual-studio-2010 ilasm

所以,我有一个用C#2.0编写的第三方.dll需要强类型,我无法访问源代码.我找到了几篇关于如何反汇编.dll并用强命名密钥文件重新组装它的文章.

我遇到的问题是VS2010将其重新编译为.NET 4.0 .dll而不是2.0 .dll(我们的应用程序当前所在的版本).我不能在我的项目中包含"new"dll,因为它给我一个运行时错误:"此程序集由比当前加载的运行时更新的运行时构建,无法加载." 如果我没有签署该DLL,我会得到"程序集不是强类型".错误.

有没有办法在2.0框架中使用VS2010 ilasm.exe重新编译这个.dll?

Han*_*ant 14

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