文章目錄
作為一個單元進資料列版本設定和部署的一個或多個檔案的集合。程式集是 .NET Framework 應用程式的主要構造塊。所有託管類型和資源都包含在某個程式集內,並被標記為只能在該程式集的內部訪問,或者被標記為可以從其他程式集中的代碼訪問。程式集在安全方面也起著重要作用。代碼訪問安全系統使用程式集資訊來確定為程式集中的代碼授與權限集。
程式集是 .NET Framework 編程的基本組成部分。程式集執行以下功能:
1.包含公用語言運行庫執行的代碼。如果可移植可執行 (PE) 檔案沒有相關聯的資訊清單,則將不執行該檔案中的 Microsoft 中繼語言 (MSIL) 代碼。請注意,每個程式集只能有一個進入點(即 DllMain、WinMain 或 Main)。
程式集形成安全邊界。程式集就是在其中請求和授予許可權的單元。有關應用於程式集的安全邊界的更多資訊,請參見程式集安全注意事項。
2.程式集形成類型邊界。每一類型的標識均包括該類型所駐留的程式集的名稱。在一個程式集範圍內載入的 MyType 類型不同於在其他程式集範圍內載入的 MyType 類型。
3.程式集形成引用範圍邊界。程式集的清單包含用於解析類型和滿足資源請求的組件中繼資料。它指定在該程式集之外公開的類型和資源。該清單還枚舉它所依賴的其他程式集。
4.程式集形成版本邊界。程式集是公用語言運行庫中最小的可版本化單元,同一程式集中的所有類型和資源均會被版本化為一個單元。程式集的清單描述您為任何依賴項程式集所指定的版本依賴性。
5.程式集形成部署單元。當一個應用程式啟動時,只有該應用程式最初調用的程式集必須存在。其他程式集(例如本地化資源和包含工具 + 生產力類的程式集)可以按需檢索。這就使應用程式在第一次下載時保持精簡。
6.程式集是支援涇渭執行的單元。有關運行多個程式集版本的更多資訊,請參見程式集和涇渭 (side-by-side) 執行。
程式集可以是靜態或動態。靜態程式集可以包括 .NET Framework 類型(介面和類),以及該程式集的資源(位元影像、JPEG 檔案、資源檔等)。靜態程式集儲存在磁碟上的可移植可執行 (PE) 檔案中。您還可以使用 .NET Framework 來建立動態程式集,動態程式集直接從記憶體運行並且在執行前不儲存到磁碟上。您可以在執行動態程式集後將它們儲存在磁碟上。
有幾種建立程式集的方法。您可以使用過去用來建立 .dll 或 .exe 檔的開發工具,例如 Visual Studio .NET。您可以使用在 .NET Framework SDK 中提供的工具來建立帶有在其他開發環境中建立的模組的程式集。您還可以使用公用語言運行庫 API(例如 Reflection.Emit)來建立動態程式集。