VS2008 引用程序集 沒有強名稱 解決辦法

爲項目添加強名稱方法:
1.右鍵單擊項目,打開屬性窗口;
2.在屬性窗口裏選擇《簽名》標籤,選中爲程序集簽名的選項,在下拉列表裏選擇新建,如下圖所示:

VS2008 <wbr> <wbr>引用程序集 <wbr> <wbr> <wbr>沒有強名稱 <wbr> <wbr> <wbr>解決辦法
VS2008 <wbr> <wbr>引用程序集 <wbr> <wbr> <wbr>沒有強名稱 <wbr> <wbr> <wbr>解決辦法

VS2008 <wbr> <wbr>引用程序集 <wbr> <wbr> <wbr>沒有強名稱 <wbr> <wbr> <wbr>解決辦法


3.打開新建簽名窗口,輸入簽名的名稱密碼等內容,如下圖所示:

 

單擊確定後,簽名添加完成。
爲沒有源碼的DLL文件添加強名稱
如果項目中引用了其他沒有源碼的dll文件,並且此dll文件是沒有強名稱的程序集,則編譯時會出現類似 "Assembly generation failed -- 引用的程序集 'xxxxxxxxxxx' 沒有強名稱" 這樣的錯誤。
我這裏引用的是Interop.Scripting.dll程序集,它不是強名稱的,則需要進行以下操作:
1.打開SDK 命令提示窗口;

 


2.創建一個新的隨機密鑰對:
sn -k Interop.Scripting.snk
3.反編譯目標程序集
ildasm Interop.Scripting.dll /out=Interop.Scripting.il
3.重新編譯,附帶強命名參數
ilasm Interop.Scripting.il /dll /resource=Interop.Scripting.res /key=Interop.Scripting.snk /optimize
4.驗證簽名信息
sn -v Interop.Scripting.dll

OK,將生成的dll文件重新引入到項目中然後編譯。
發佈了75 篇原創文章 · 獲贊 4 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章