济南市建设局网站/免费发布信息网
如果在你的项目中使用了强命名,而这个项目引用的程序集dll,又不是强命名程序集,那这个项目在编译的时会出现类似:程序集生成失败 -- 引用的程序集“XXXXXXXXX”没有强名称 的错误。如果你找不到源代码,或者不想重新编译程序,那可以使用如下的方法:
1.打开SDK 命令提示窗口;
2.创建一个新的随机密钥对:
sn -k SharpZipLib.snk
3.反编译目标程序集
ildasm SharpZipLib.dll /out=SharpZipLib.il
4.重新编译,附带强命名参数
ilasm SharpZipLib.il /dll /resource=SharpZipLib.res /key=SharpZipLib.snk /optimize
5.验证签名信息
sn -v SharpZipLib.dll
OK,将重新生成的dll引入到项目中,重新编译看看。
这些工具都在哪里?
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/ilasm.exe
C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin/ildasm.exe
C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin/sn.exe