Udostępnij przez


Rejestrowanie zestawów za pomocą COM

Możesz uruchomić narzędzie wiersza polecenia o nazwie Narzędzie rejestracji zestawów (Regasm.exe), aby zarejestrować lub wyrejestrować zestaw do użycia z com. Regasm.exe dodaje informacje o klasie do rejestru systemowego, aby klienci COM mogli bezproblemowo używać klasy .NET Framework. Klasa RegistrationServices zapewnia równoważną funkcjonalność.

Składnik zarządzany musi być zarejestrowany w rejestrze systemu Windows, zanim będzie można go aktywować z poziomu klienta COM. W poniższej tabeli przedstawiono klucze, które Regasm.exe zazwyczaj dodaje do rejestru systemu Windows. (000000 wskazuje rzeczywistą wartość identyfikatora GUID).

GUID Opis Klucz rejestru
identyfikator klasy Identyfikator klasy HKEY_CLASSES_ROOT\CLSID\{000…000}
IID Identyfikator interfejsu HKEY_CLASSES_ROOT\Interface\{000…000}
LIBID Identyfikator biblioteki HKEY_CLASSES_ROOT\TypeLib\{000…000}
Identyfikator programistyczny Identyfikator programowy HKEY_CLASSES_ROOT\000…000

W kluczu HKCR\CLSID\{0000…0000} wartość domyślna jest ustawiona na ProgID klasy, a dodawane są dwie nowe nazwane wartości: Klasa i Zestaw. Środowisko uruchomieniowe odczytuje wartość zestawu z rejestru i przekazuje ją do narzędzia rozpoznawania zestawów środowiska uruchomieniowego. Program rozpoznawania zestawów próbuje zlokalizować zestaw na podstawie informacji o zestawie, takich jak nazwa i numer wersji. Aby program rozpoznawania zestawów lokalizował zestaw, zestaw musi znajdować się w jednej z następujących lokalizacji:

  • Globalna pamięć podręczna zestawów (musi być zestawem o silnej nazwie).

  • W katalogu aplikacji. Zestawy załadowane ze ścieżki aplikacji są dostępne tylko z tej aplikacji.

  • Podczas określania ścieżki dla pliku zgodnie z opcją /codebase do Regasm.exe.

Regasm.exe również tworzy klucz InProcServer32 pod kluczem HKCR\CLSID\{0000…0000}. Wartość domyślna klucza jest ustawiona na nazwę biblioteki DLL, która inicjuje środowisko uruchomieniowe języka wspólnego (Mscoree.dll).

Badanie wpisów rejestru

Interop COM zapewnia standardową implementację fabryk klas do tworzenia instancji dowolnej klasy .NET Framework. Klienci mogą wywoływać DllGetClassObject na zarządzanej bibliotece DLL, aby uzyskać fabrykę klas i utworzyć obiekty, tak samo jak w przypadku dowolnego innego składnika COM.

W przypadku podklucza InprocServer32 odwołanie do Mscoree.dll pojawia się zamiast tradycyjnej biblioteki typów COM, aby wskazać, że środowisko uruchomieniowe języka wspólnego tworzy obiekt zarządzany.

Zobacz także