共用方式為


向 COM 註冊組件

更新:2007 年 11 月

您可以執行一個名為組件註冊工具 (Regasm.exe) 的命令列工具來註冊或移除註冊使用於 COM 的組件。Regasm.exe 會將有關類別的資訊加入到系統登錄,讓 COM 用戶端能夠以透明的方式使用 .NET 類別。RegistrationServices 類別提供了同等的功能。

從 COM 用戶端啟動 Managed 元件之前,其必須註冊在 Windows 登錄中。下表顯示 Regasm.exe 通常會加入至 Windows 登錄的機碼 (000000 表示實際的 GUID 值)。

GUID

說明

登錄機碼

CLSID

類別識別項

HKEY_CLASSES_ROOT\CLSID\{000…000}

IID

介面識別項

HKEY_CLASSES_ROOT\Interface\{000…000}

LIBID

程式庫識別項

HKEY_CLASSES_ROOT\TypeLib\{000…000}

ProgID

程式設計識別項

HKEY_CLASSES_ROOT\000…000

在 HKCR\CLSID\{0000...0000} 機碼之下,會將預設值設定為類別的 ProgID,並加入兩個新的已命名值 Class 和 Assembly。Runtime 會從登錄中讀取組件值,然後將它傳遞給 Runtime 組件解析程式 (Resolver)。組件解析程式會依據名稱和版本號碼這類組件資訊嘗試找出這個組件。為了使組件解析程式找到組件,該組件必須在下列位置其中之一:

  • 全域組件快取 (GAC) (必須為強式名稱的組件)

  • 在應用程式目錄中。從應用程式路徑載入的組件只能從那個應用程式才能夠存取

  • 指定的檔案路徑加上 Regasm.exe 的 /codebase 選項

Regasm.exe 也會在 HKCR\CLSID\{0000...0000} 機碼之下建立 InProcServer32 機碼。這個機碼的預設值會設定為內含 Common Language Runtime 的 DLL 名稱 (Mscoree.dll)。

檢查登錄項目

COM Interop 提供了一個標準 Class Factory 實作,來建立任何 .NET Framework 類別的執行個體。用戶端可以呼叫 Managed DLL 上的 DllGetClassObject,取得 Class Factory 並且建立物件,就像對任何其他 COM 元件一樣。

Mscoree.dll 的參考會取代傳統的 COM 型別程式庫出現,用以指示這個 Managed 物件是 Common Language Runtime 建立的。

登錄項目

請參閱

工作

HOW TO:參考 COM 的 .NET 型別

概念

將 .NET Framework 元件公開給 COM

呼叫 .NET 物件

部署供 COM 存取的應用程式