1.打開SDK 命令提示窗口; 也就是VS2012 開發人員命令提示,一般所在目錄C:\ProgramData\Microsoft
\Windows\Start Menu\Programs\Microsoft Visual Studio 2012\Visual Studio Tools
2.創建一個新的隨機密鑰對:直接輸入下面的 名字和你的Dll名字一樣,他這的名字是Interop.Scripting.Dll然後下面就那樣
sn -k Interop.Scripting.snk
3.反編譯目標程序集,2完成之後在C:\Program Files (x86)\Microsoft Visual Studio 11.0目錄下面
看snk是否存在,然後再把原來的Interop.Scripting.Dll拷貝到和snk同名的文件夾下,然後執行下面的命令
ildasm Interop.Scripting.dll /out=Interop.Scripting.il
3.重新編譯,附帶強命名參數,執行上面命令之後刪除Interop.Scripting.Dll,然後執行下面命令
ilasm Interop.Scripting.il /dll /resource=Interop.Scripting.res /key=Interop.Scripting.snk /optimize
4.驗證簽名信息,上面命令執行完成之後會重新生成個dll所以就用這個就OKle
sn -v Interop.Scripting.dll
OK,將生成的dll文件重新引入到項目中然後編譯。
首先打開visual studio 2005命令提示(開始-->程序-->microsoft visual studio 2005-->visual studio tools-->visual studio 2005命令提示),在其中輸入:sn -k PetShop.IBLL.snk回車,這樣就生成了 PetShop.IBLL.snk,在路徑C:/Program Files/Microsoft Visual Studio 8/VC找到 PetShop.IBLL.snk文件,放在IBLL項目的根目錄也就是IBLL目錄下,然後打開BLL項目的AssemblyInfo.cs,在裏面加入如下代碼行:[assembly: AssemblyKeyFile("PetSHop.IBLL.snk")], 然後重新生成PetShop.IBLL項目,這樣一個強命名的程序集就生成了。
這個應該使用 程序集的屬性 有個簽名的 吧簽名文件添加進去,把延遲簽名去掉就好了
手動添加全局應用程序 緩存
2.把程序集移出GAC GACUtil /u sample.dll (參數/u就移除的意思)
注意:不能將一個弱命名程序集安裝到GAC中。