Registrování sestav pomocí modelu COM

Můžete spustit nástroj příkazového řádku s názvem Nástroj pro registraci sestavení (Regasm.exe) k registraci nebo zrušení registrace sestavení pro použití s com. Regasm.exe přidá informace o třídě do systémového registru, aby klienti MODELU COM mohli transparentně používat třídu .NET Framework. Třída RegistrationServices poskytuje ekvivalentní funkce.

Spravovaná komponenta musí být zaregistrovaná v registru Systému Windows, aby ji bylo možné aktivovat z klienta modelu COM. Následující tabulka ukazuje klíče, které Regasm.exe obvykle přidává do registru Systému Windows. (000000 označuje skutečnou hodnotu GUID.)

Identifikátor GUID Popis Klíč registru
IDENTIFIKÁTOR CLSID Identifikátor třídy HKEY_CLASSES_ROOT\CLSID\{000... 000}
IID Identifikátor rozhraní HKEY_CLASSES_ROOT\Interface\{000... 000}
LIBID Identifikátor knihovny HKEY_CLASSES_ROOT\TypeLib\{000... 000}
Identifikátor progid Programový identifikátor HKEY_CLASSES_ROOT\000... 000

Pod HKCR\CLSID\{0000... Klíč 0000}, výchozí hodnota je nastavena na ProgID třídy a jsou přidány dvě nové pojmenované hodnoty, Třída a Sestavení. Modul runtime načte hodnotu sestavení z registru a předá ji do překladače sestavení modulu runtime. Překladač sestavení se pokusí najít sestavení na základě informací o sestavení, jako je název a číslo verze. Aby překladač sestavení našel sestavení, musí být sestavení v jednom z následujících umístění:

  • Globální mezipaměť sestavení (musí být sestavení se silným názvem).

  • V adresáři aplikace. Sestavení načtená z cesty aplikace jsou přístupná pouze z této aplikace.

  • Cesta k souboru zadaná s možností /codebase pro Regasm.exe.

Regasm.exe také vytvoří klíč InProcServer32 pod HKCR\CLSID\{0000... Klíč 0000} Výchozí hodnota klíče je nastavena na název knihovny DLL, která inicializuje modul CLR (Mscoree.dll).

Ověření položky registru

Interoperabilita modelu COM poskytuje standardní implementaci objektu pro vytváření tříd pro vytvoření instance jakékoli třídy rozhraní .NET Framework. Klienti mohou volat DllGetClassObject ve spravované knihovně DLL získat objekt pro vytváření tříd a vytvářet objekty stejně jako u jakékoli jiné komponenty COM.

InprocServer32 U podklíče se místo tradiční knihovny typů modelu COM zobrazí odkaz na Mscoree.dll, který indikuje, že modul CLR (Common Language Runtime) vytvoří spravovaný objekt.

Viz také