元件物件模型 (COM) 可讓物件向其他元件公開其功能,以及裝載應用程式。 雖然 COM 物件多年來一直是 Windows 程式設計的基礎,但專為 Common Language Runtime (CLR) 設計的應用程式提供了許多優點。
.NET Framework 應用程式最終會取代那些以 COM 開發的應用程式。 在此之前,您可能必須使用 Visual Studio 來使用或建立 COM 物件。 與 COM 或 COM Interop 的互作性可讓您在以自己的步調轉換至 .NET Framework 時使用現有的 COM 物件。
藉由使用 .NET Framework 來建立 COM 元件,您可以使用無註冊的 COM Interop。 這可讓您控制在計算機上安裝多個版本時啟用哪個 DLL 版本,並讓使用者使用 XCOPY 或 FTP,將應用程式複製到其電腦上可執行的適當目錄。 如需詳細資訊,請參閱 Registration-Free COM Interop。
Managed 程式碼和資料
針對 .NET Framework 開發的代碼稱為 受管理的代碼,並包含 CLR 所使用的元數據。 .NET Framework 應用程式所使用的數據稱為管理數據,因為執行階段會管理數據相關工作,例如分配和回收記憶體,並執行類型檢查。 根據預設,Visual Basic .NET 會使用 Managed 程式代碼和數據,但您可以使用 Interop 元件存取 COM 物件的 Unmanaged 程式代碼和數據(本頁稍後所述)。
組件
組件是 .NET Framework 應用程式的主要建置組塊。 它是建置、版本設定及部署為包含一或多個檔案的單一實作單位的功能集合。 每個元件都包含元件指令清單。
類型連結庫和元件指令清單
類型庫描述 COM 物件的特性,例如成員名稱和數據類型。 裝配清單在 .NET Framework 應用程式中履行相同的功能。 其中包括下列資訊:
元件身分識別、版本、文化特性和數字簽名。
構成組件實作的檔案。
組成元件的類型和資源。 這包括從中匯出的項目。
編譯時對其他元件的相依性。
應用程式正確運行所需的權限。
如需元件和元件指令清單的詳細資訊,請參閱 .NET 中的元件。
匯入和匯出類型庫
Visual Studio 包含公用程式 Tlbimp,可讓您將類型連結庫的信息匯入 .NET Framework 應用程式。 您可以使用 Tlbexp 公用程式,從元件產生類型連結庫。
如需 Tlbimp 和 Tlbexp 的相關信息,請參閱 Tlbimp.exe (類型庫匯入工具) 和 Tlbexp.exe (類型庫導出工具) 。
Interop 組件
Interop 元件是 .NET Framework 元件,這些元件會橋接 Managed 和 Unmanaged 程式代碼,將 COM 物件成員對應至對等的 .NET Framework Managed 成員。 Visual Basic .NET 所建立的 Interop 元件會處理許多使用 COM 物件的細節,例如互操作封送處理。
互操作性封送處理
所有 .NET Framework 應用程式都會共用一組通用類型,不論所使用的程式設計語言為何,都能啟用物件的互作性。 COM 物件的參數和返回值有時會使用與 Managed 程式碼中不同的資料類型。 互操作性封送處理是將參數和返回值封裝成相等的數據類型,隨著它們進出 COM 物件的過程。 如需詳細資訊,請參閱 Interop 封送處理。