Unable to emit assembly: Referenced assembly does not have a strong name

今天嘗試更新自己寫的一個Project 時..
[因為最近公司有個新朋友加入… 介紹了很多新方法..改善了很多以前Development 時做得不好的地方] <– 謝謝你
在更新這個Project 時…以前有用開一個自己寫給公司用的 Library [其實和ShareChiWaiLib 差不多的], 以前是把這個Library 放在Network Drive/找複製貼上到Project Folder 上 之後用Add Reference 方式來把這個Library 加入Project 上..
現在的方法比較好一點的..就是Add Project Reference 方式… 每當這個Library 有更新時[Feature Update/ Bug Fix]…只要recompile這個Project 便會得到最新的Library DLL 了
這個方法已經在好幾個Project 上運用..效果很好…很方便

但當我在這個Project 上使用這個Project Reference 中的Library 時 出現了以下的錯誤信息
Unable to emit assembly: Referenced assembly ‘xxx’ does not have a strong name

這是..我在想…這個是Project Reference …怎樣才可以 把這個DLL Sign 成Strong NameReference 呢… 網上的解決放法都是有一個DLL 之後用Command Prompt 來Sign 這個Reference…但是這跟我的情況很像不相同…

最後終於找到解決方法了..
解決方法:
1) 打開這個Project 的 “Properties/內容
2) 選擇 “Signing tab/簽署分頁

3) 選取”Sign the assembly“->之後在”Choose a strong name key file” 上選擇 “<New…>
之後填上這個Key file name 和輸入密碼便可[如果你希望用密碼來保護這個 Strong Name Key的話]

CreateStrongNameKey

Hope you find it useful

Leave a Reply