What are assemblies

assemblies、程式集

程式集(Assembly)基本概念

程式集是一個或多個模組和資源檔的集合。 當一個程式集被打包完成後,會包含所有原始檔內容,也會加入一個組件資訊清單,該清單包含版本號、語言、發布者、簽章...等等資訊。

程式集支援多程式設計語言開發,一個程式集可以包含由不同程式設計語言定義和實作的模組。在程式集被編譯完成時,所有這些類型已經被編譯成中間程式碼,而不再帶有原來程式設計語言的特性。

 

建立強制簽章程式集

CLR提供了兩種選擇類型:

  1. 強式簽章

  2. 弱式簽章

強式簽章程式集是一個帶有公鑰和數位簽章的程式集,每個強式簽章都包含檔案名、版本號、語言文化和公鑰的資訊,而這四個資訊能做唯一識別。 弱式簽章程式集擁有完全一樣的中繼資料、CLR、標頭和組件資訊,唯一不同的是弱式簽章程式集沒有公鑰,不能進行數位簽章,也不能被放入全域組件快取(GAC)中,只能進行私有部署。

當建立一個強式簽章時,其公鑰將被列入到程式清單之中。同時,在程式集被發布時,也會建立一個數位簽章,數位簽章包含了組件資訊清單的雜湊值,而組件資訊清單又包含該程式集中所有模組的雜湊值,在這種情況下,除非擁有程式集的公鑰和私鑰,否則將無法對程式集任何改動。

 

了解強式簽章後,就是如何使用csc.exesn.exe來建立一個強式簽章程式集

 

1.開起Command Prompt

2.用sn.exe建立一個擁有公私鑰的檔案

會得到這麼一個檔案

3.使用csc.exe編譯class

最後就會得到一個強式簽章的dll檔,可被其他專案參考

 

 

一天一分享,身體好健康。

該追究的不是過去的原因,而是現在的目的。