assemblies、程式集
程式集(Assembly)基本概念
程式集是一個或多個模組和資源檔的集合。 當一個程式集被打包完成後,會包含所有原始檔內容,也會加入一個組件資訊清單,該清單包含版本號、語言、發布者、簽章...等等資訊。
程式集支援多程式設計語言開發,一個程式集可以包含由不同程式設計語言定義和實作的模組。在程式集被編譯完成時,所有這些類型已經被編譯成中間程式碼,而不再帶有原來程式設計語言的特性。
建立強制簽章程式集
CLR提供了兩種選擇類型:
-
強式簽章
-
弱式簽章
強式簽章程式集是一個帶有公鑰和數位簽章的程式集,每個強式簽章都包含檔案名、版本號、語言文化和公鑰的資訊,而這四個資訊能做唯一識別。 弱式簽章程式集擁有完全一樣的中繼資料、CLR、標頭和組件資訊,唯一不同的是弱式簽章程式集沒有公鑰,不能進行數位簽章,也不能被放入全域組件快取(GAC)中,只能進行私有部署。
當建立一個強式簽章時,其公鑰將被列入到程式清單之中。同時,在程式集被發布時,也會建立一個數位簽章,數位簽章包含了組件資訊清單的雜湊值,而組件資訊清單又包含該程式集中所有模組的雜湊值,在這種情況下,除非擁有程式集的公鑰和私鑰,否則將無法對程式集任何改動。
了解強式簽章後,就是如何使用csc.exe和sn.exe來建立一個強式簽章程式集
1.開起Command Prompt
2.用sn.exe建立一個擁有公私鑰的檔案
會得到這麼一個檔案
3.使用csc.exe編譯class
最後就會得到一個強式簽章的dll檔,可被其他專案參考
一天一分享,身體好健康。
該追究的不是過去的原因,而是現在的目的。