Rejestrowanie zespołów .NET Framework w modelu COM

Uwaga / Notatka

W tym artykule opisano wskazówki dotyczące współdziałania COM programu .NET Framework, które wykorzystują starsze narzędzie Assembly Registration Tool (Regasm.exe), globalną pamięć podręczną zestawów oraz opartą na rejestrze rejestrację COM. W przypadku nowoczesnej platformy .NET użyj generowania kodu źródłowego COM lub interfejsu ComWrappers API. Aby uzyskać więcej informacji, zobacz współdziałanie modelu COM.

Możesz uruchomić narzędzie wiersza polecenia o nazwie Narzędzie rejestracji zestawów (Regasm.exe), aby zarejestrować lub wyrejestrować zestaw .NET Framework 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ść.

W przypadku platformy .NET składnik zarządzany musi być zarejestrowany w rejestrze 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).

Sprawdź wpisy rejestru

Współdziałanie COM w środowisku .NET Framework zapewnia standardową implementację fabryki klas, umożliwiającą tworzenie instancji dowolnej klasy platformy .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