--------------------------------------编辑人:Lidan--------------------------------------
一般我们在给程序集强命名时,都会直接使用VS进行强命名,但是这只是我们在有源代码时才这么做。如果我们使用的是第三方的程序集,此方法是行不通。这种情况下,我们就需要使用到VS里的另一工具:Sn.exe 来使用命令行给程序集命名。
项目引用如下图:
此时我们无法直接右键属性去给此程序集强命名,但我们可以通过使用Sn.exe去强命名,在此附上微软官方的Sn.exe解释,感兴趣的朋友可以自己去研究。
http://msdn.microsoft.com/zh-cn/library/k5b5tt23(VS.80).aspx
我们打开VS的命令行工具:
打开如下命令行窗口:
执行命令行..................................................................
sn -k SapHelper.snk //--新建一个密钥对
执行命令行..................................................................
ildasm SapHelper.dll /out=SapHelper.il //--反编译目标程序集
执行命令行..................................................................
ilasm SapHelper.il /dll /resource=SapHelper.res /key=SapHelper.snk /optimize //--加入密钥后重新编译生成新的dll
到此,据有强命名的新dll已经生成完毕,我们还可以用一个命令行来验证此dll是否生效。
执行命令行..........................................................................................................................
此时把新编译好的dll再重新引用到项目中,就可以编译通过
最后不要忘记,其实你新生成的强命名dll,是存放在你所打开的命令行窗口的当前编译目录下。