VS報:"dll標記為系統必備組件,必須對其進行強簽名"錯誤


問題:
	VS生成程序時,報“要將程序集“XX.dll”標記為系統必備組件,必須對其進行強簽名。”錯誤。

解決方法:
	1)在報錯的解決方案中找到一個可以發布的項目(引用該XX.dll的項目未必可以發布);
	2)右擊該項目,選擇“屬性”;
	3)選擇“發布”;
	4)點擊“應用程序文件”按鈕;
	5)找到該“XX.dll”,將發布狀態有“系統必備”改為“包括(自動)”;
	6)再次運行成功。

參考:

1、 首先說明一下:X是某程序集的名稱,相當於數學中的未知數X。 看到這樣的提示,開始我以為是把程序集X的發布狀態設為“系統必備”了,我檢查了一下,發現程序集X的發布狀態是“包括(自動)”,看樣子提示信息誤本身有誤,但發

布的包里有十幾個程序集,單單是X出現了問題,原因必然和X有關,這個結論應該是沒有錯的。 后來經過幾番折騰,終於找了問題原因: 被打包的程序由一個EXE程序集和十幾個DLL程序集組成,EXE程序集和其中4個DLL程序集都引用了程序集X,但是其中有一個DLL程序集引用的是X的7.5版本,其他程序集引用

的是X的7.6版,這樣導致了版本沖突,自然無法發布。 雖然.NET給出了錯誤提示,但里面還是包含了找出問題原因的線索,其他造成此錯誤的原因估計也應該和程序集的版本有關,希望此文對您有所幫助。 2、 最近編譯經常偶爾出現標題這個錯誤,有時重啟電腦,就正常了,有時重啟也不行,真蛋疼,后來發現把dll預先拷貝到生成目錄,也可以避免這個編譯錯誤,但是實在是麻

煩,再去Google了半天,終於找到了解決方案:右擊報錯的項目=〉屬性=〉發布=〉把這個dll的發布狀態由“包括(自動)”改成“包括” 問題解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM