Sdílet prostřednictvím


Regasm.exe (nástroj registrace sestavení)

Nástroj Assembly Registration načte metadata v rámci sestavení a přidá nezbytné položky registru, které umožní klientům modelu COM transparentní vytvoření tříd rozhraní .NET Framework. Jakmile je třída zaregistrována, může ji libovolný klient COM použít jako třídu COM. Třída je registrována pouze jednou, při instalaci sestavení. Instance tříd z modelu COM v rámci sestavení nelze vytvořit, dokud nedojde k jejich registraci.

Ke spuštění nástroje použijte Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.

Syntaxe

regasm assemblyFile [options]

Parametry

Parametr Popis
assemblyFile Sestavení, která mají být registrována pomocí modelu COM.
Možnost Popis
/codebase Vytvoří položku základu kódu v registru. Položka Základ kódu určuje cestu k souboru pro sestavení, které není nainstalováno v globální mezipaměti sestavení. Tuto možnost nezadávejte, pokud následně nainstalujete sestavení, které registrujete do globální mezipaměti sestavení. Důrazně se doporučuje argument assemblyFile , který zadáte s /codebase možností být sestavení se silným názvem.
/registered Určuje, že tento nástroj bude odkazovat pouze na knihovny typů, které již byly zaregistrovány.
/asmpath:directory Určuje adresář obsahující odkazy na sestavení. Musí se použít s /regfile možností.
/nologo Potlačí zobrazení úvodního nápisu společnosti Microsoft.
/regfile [: regFile] Generuje soubor .reg určený pro sestavení, která obsahují potřebné položky registru. Použití této možnosti nezmění registr. Tuto možnost nelze použít s možnostmi /u nebo /tlb možnostmi.
/silent nebo /s Potlačí zobrazování zpráv o úspěšném dokončení.
/tlb [: typeLibFile] Ze zadaného sestavení vytvoří knihovnu typů obsahující definice dostupných typů definovaných v rámci sestavení.
/unregister nebo /u Zruší registraci creatable tříd nalezených v assemblyFile. Vynechání této možnosti způsobí, že nástroj Regasm.exe zaregistruje vytvořitelné třídy v rámci sestavení.
/verbose Určuje podrobný režim; zobrazí seznam všech odkazovaných sestavení, pro která je potřeba vygenerovat knihovnu typů při zadání s /tlb možností.
/? nebo /help Zobrazí syntaxi příkazu a možnosti nástroje.

Poznámka:

Možnosti příkazového řádku nástroje Regasm.exe nerozlišují malá a velká písmena. Pro jednoznačnou identifikaci je potřeba zadat dostatek parametrů. /n Například je ekvivalentní /nologo a /t: outfile.tlb je ekvivalentní ./tlb: outfile.tlb

Poznámky

Tuto možnost můžete použít /regfile k vygenerování .reg souboru, který obsahuje položky registru, namísto provedení změn přímo v registru. Registr lze na počítači aktualizovat importováním souboru .reg pomocí nástroje Editor registru (Regedit.exe). Soubor .reg neobsahuje žádné aktualizace registru, které lze provádět pomocí uživatelem definovaných funkcí registru. Možnost /regfile generuje pouze položky registru pro spravované třídy. Tato možnost nevygeneruje TypeLibID ani InterfaceID nezadává položky.

Když zadáte /tlb možnost, Regasm.exe vygeneruje a zaregistruje knihovnu typů popisující typy nalezené v sestavení. Nástroj Regasm.exe umístí vytvořenou knihovnu typů do aktuálního pracovního adresáře nebo do adresáře určeného pro výstupní soubor. Vytváření knihovny typů pro sestavení, které odkazuje na jiné sestavení, může způsobit vytvoření několika knihoven typů najednou. Knihovnu typů můžete použít k poskytnutí informací o typu vývojových nástrojů, jako je Visual Studio. Tuto možnost nepoužívejte /tlb , pokud sestavení, které registrujete, vytvořil nástroj Type Library Importer (Tlbimp.exe). Knihovnu typů nelze exportovat ze sestavení, které bylo importováno z knihovny typů. /tlb Použití této možnosti má stejný účinek jako použití exportéru knihovny typů (Tlbexp.exe) a Regasm.exe s výjimkou, že Tlbexp.exe neregistruje knihovnu typů, kterou vytváří. Pokud tuto možnost použijete /tlb k registraci knihovny typů, můžete pomocí /tlb možnosti /unregister zrušit registraci knihovny typů. Použitím obou možností společně dojde ke zrušení registrace knihovny typů a položek rozhraní, čímž lze značně pročistit registr.

Při registraci sestavení pro použití modelem COM nástroj Regasm.exe přidá položky do registru místního počítače. Přesněji řečeno vytvoří klíče registru závislé na verzi, které dovolují v počítači paralelně spustit více verzí stejného sestavení. Při prvním registraci sestavení se pro sestavení vytvoří jeden klíč nejvyšší úrovně a pro konkrétní verzi se vytvoří jedinečný podklíč. Při každé registraci nové verze sestavení nástroj Regasm.exe vytvoří podklíč pro novou verzi.

Jako příklad lze uvést registraci spravované komponenty, myComp.dll, verze 1.0.0.0 pro použití modelem COM. Později zaregistrujete myComp.dll verze 2.0.0.0. Je možné určit, že všechny klientské aplikace modelu COM v počítači používají myComp.dll verze 2.0.0.0 a rozhodnout o zrušení registrace myComponent.dll verze 1.0.0.0. Toto schéma registru umožňuje zrušit registraci myComp.dll verze 1.0.0.0, protože je odebrán pouze podklíč verze 1.0.0.0.

Po registraci sestavení pomocí Regasm.exe ho můžete nainstalovat do globální mezipaměti sestavení, aby bylo možné ho aktivovat z libovolného klienta MODELU COM. Pokud bude sestavení aktivováno jednou aplikací, je možné je umístit do adresáře dané aplikace. Použití této /codebase možnosti je alternativou k použití globální mezipaměti sestavení. Umístění sestavení během registrace se však zaznamená globálně a aktivace selže, pokud se sestavení přesune. Pokud sestavení není nalezeno prostřednictvím sondování, /codebase možnost načte sestavení do kontextu načtení z kontextu, který obsahuje další faktory popsané v Assembly.LoadFrom.

Příklady

Následující příkaz zaregistruje všechny veřejné třídy obsažené v myTest.dll.

regasm myTest.dll

Následující příkaz vygeneruje soubor myTest.reg, který obsahuje všechny potřebné položky registru. Tento příkaz neprovede aktualizaci registru.

regasm myTest.dll /regfile:myTest.reg

Následující příkaz zaregistruje všechny veřejné třídy obsažené v myTest.dll, a vygeneruje a zaregistruje knihovnu myTest.tlbtypů , která obsahuje definice všech veřejných typů definovaných v myTest.dll.

regasm myTest.dll /tlb:myTest.tlb

Viz také