Tlbimp.exe (importér knihovny typů)

Nástroj Type Library Importer převádí definice typu nalezené v knihovně typů modelu COM na ekvivalentní definice v sestavení Common Language Runtime. Výstupem nástroje Tlbimp.exe je binární soubor (sestavení) obsahující metadata modulu runtime pro typy definované v rámci původní knihovny typů. Tento soubor můžete prozkoumat pomocí nástrojů, jako je Ildasm.exe.

Tento nástroj je automaticky nainstalován se sadou Visual Studio. Ke spuštění nástroje použijte Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.

V příkazovém řádku zadejte následující:

Syntaxe

tlbimp tlbFile [options]  

Parametry

Argument Description
tlbSoubor Název jakéhokoli souboru obsahujícího knihovnu typů modelu COM.
Možnost Popis
/asmversion:číslo_verze Určuje číslo verze vytvářeného sestavení. Zadejte versionnumber ve formátu major.minor.build.revision.
/Společnost:companyinformation Přidá informace o společnosti do výstupního sestavení.
/Copyright:copyrightinformation Přidá informace o autorských právech do výstupního sestavení. Tyto informace lze zobrazit v dialogovém okně Vlastnosti souboru pro sestavení.
/Delaysign Říká nástroji Tlbimp.exe, aby podepsal výsledné sestavení se silným názvem pomocí zpožděného podepisování. Tuto možnost je nutné zadat pomocí možnosti /keycontainer:, /keyfile:, nebo /publickey: . Další informace o zpožděném procesu podepisování naleznete v tématu Zpoždění podepsání sestavení.
/Pomoc Zobrazí syntaxi příkazu a možnosti nástroje.
/keycontainer:název_kontejneru Podepíše výsledné sestavení silným názvem pomocí páru veřejného a privátního klíče, který se nachází v kontejneru klíčů určeném parametrem containername.
/keyfile:název_souboru Podepíše výsledné sestavení silným názvem pomocí oficiálního páru veřejného a privátního klíče vydavatele, který se nachází v názvu souboru.
/Stroj:machinetype Vytvoří sestavení určené pro konkrétní typ počítače (mikroprocesoru). Podporované typy počítačů: x86, x64, Itanium a Agnostic.
/namespace:namespace Určuje obor názvů, ve kterém se má vytvořit sestavení.
/noclassmembers Zabraňuje nástroji Tlbimp.exe v přidávání členů do tříd. Tím se vyhnete potenciálnímu TypeLoadException.
/nologo Potlačí zobrazení úvodního nápisu společnosti Microsoft.
/out:název_souboru Určuje název výstupního souboru, sestavení a oboru názvů, do kterých chcete zapsat definice metadat. Možnost /out nemá žádný vliv na obor názvů sestavení, pokud knihovna typů určuje vlastní atribut IDL (Interface Definition Language), který explicitně řídí obor názvů sestavení. Pokud tuto možnost nezadáte, nástroj Tlbimp.exe zapíše metadata do souboru se stejným názvem, jaký má skutečná knihovna typů definovaná v rámci vstupního souboru, a přiřadí mu příponu .dll. Pokud má výstupní soubor stejný název jako vstupní soubor, nástroj vygeneruje chybu bránící přepsání knihovny typů.
/Primární Vytvoří primární sestavení zprostředkovatele komunikace pro zadanou knihovnu typů. Do sestavení jsou vloženy informace o tom, že toto sestavení vytvořil vydavatel knihovny typů. Zadáním primárního sestavení zprostředkovatele komunikace odlišíte sestavení vydavatele od ostatních sestavení vytvořených z knihovny typů používající nástroj Tlbimp.exe. Možnost /primary byste měli použít pouze v případě, že jste vydavatelem knihovny typů, kterou importujete pomocí Tlbimp.exe. Všimněte si, že primární sestavení zprostředkovatele komunikace musíte podepsat silným názvem. Další informace naleznete v tématu Primární sestavení vzájemné spolupráce.
/Produktu:productinformation Přidá informace o produktu do výstupního sestavení. Tyto informace lze zobrazit v dialogovém okně Vlastnosti souboru pro sestavení.
/Productversion:productversioninformation Přidá informace o verzi produktu do výstupního sestavení. Neexistují žádná omezení formátu. Tyto informace lze zobrazit v dialogovém okně Vlastnosti souboru pro sestavení.
/publickey:filename Určuje soubor obsahující veřejný klíč pro použití k podepsání výsledného sestavení. Pokud místo /publickey:zadáte možnost /keyfile: nebo /keycontainer:, Tlbimp.exe vygeneruje veřejný klíč z páru veřejného a privátního klíče dodaného s parametrem /keyfile: nebo /keycontainer:. Možnost /publickey: podporuje scénáře podepisování pomocí testovacího klíče a zpoždění. Soubor má formát generovaný nástrojem Sn.exe. Další informace najdete v tématu možnost -p Sn.exe v nástroji silný název (Sn.exe).
/reference:název_souboru Určuje soubor sestavení, který se má použít při řešení odkazů na typy definované mimo aktuální knihovnu typů. Pokud nezadáte možnost /reference , Tlbimp.exe automaticky rekurzivně importuje všechny externí knihovny typů, na které importovaná knihovna typů odkazuje. Pokud zadáte možnost /reference , nástroj se pokusí přeložit externí typy v odkazovaných sestaveních před importem jiných knihoven typů.
/Ticho:warningnumber Potlačí zobrazení konkrétního upozornění. Tuto možnost nelze použít s parametrem /silent.
/silent Potlačí zobrazování zpráv o úspěšném dokončení. Tuto možnost nelze použít s parametrem /silence.
/strictref Neimportuje knihovnu typů, pokud nástroj nemůže přeložit všechny odkazy v aktuálním sestavení, sestaveních zadaných parametrem /reference nebo registrovaných primárních sestavení vzájemné spolupráce (PIA).
/strictref:nopia Stejné jako /strictref, ale ignoruje pias.
/sysarray Určuje nástroj pro import stylu MODELU COM SafeArray jako spravovaného Array typu.
/tlbreference:název_souboru Určuje soubor knihovny typů, který se má použít k vyřešení odkazů knihovny typů bez konzultace s registrem.

Tato možnost nenačte některé starší formáty knihovny typů. Stále však můžete načíst starší formáty knihovny typů implicitně pomocí registru nebo aktuálního adresáře.
/Ochranná známka:trademarkinformation Přidá informace o obchodní známce do výstupního sestavení. Tyto informace lze zobrazit v dialogovém okně Vlastnosti souboru pro sestavení.
/transform:transformname Transformuje metadata podle parametru transformname .

Zadáním dispretu pro parametr transformname transformujte parametry [out, retval] metod v rozhraních jen pro odesílání (dispinterfaces) na návratové hodnoty.

Další informace o této možnosti naleznete v příkladech dále v tomto tématu.
/Nebezpečné Vytvoří rozhraní bez kontroly zabezpečení rozhraní .NET Framework. Volání metody, která je vystavena tímto způsobem, může představovat bezpečnostní riziko. Tuto možnost nepoužívejte, pokud si nejste vědomi rizika vystavení takového kódu.
/Podrobné Určuje režim podrobného vypisování; zobrazí další informace o importované knihovně typů.
/VariantBoolFieldToBool VARIANT_BOOL Převede pole ve strukturách na Boolean.
/? Zobrazí syntaxi příkazu a možnosti nástroje.

Poznámka

Možnosti příkazového řádku pro nástroj Tlbimp.exe nerozlišují malá a velká písmena a lze je zadat v libovolném pořadí. Pro jednoznačnou identifikaci je potřeba pouze poskytnout dostatek parametrů. Proto je /n ekvivalentní k /nologo a /ou:outfile.dll je ekvivalentem /out:outfile.dll.

Poznámky

Nástroj Tlbimp.exe provádí převody celé knihovny typů najednou. Pomocí tohoto nástroje nelze generovat informace pro podmnožinu typů definovaných v rámci jedné knihovny typů.

Často je užitečné nebo nezbytné mít možnost přiřazovat sestavením silné názvy . Proto nástroj Tlbimp.exe obsahuje možnosti pro poskytnutí informací nezbytných k vytvoření sestavení se silným názvem. Možnosti /keyfile: i /keycontainer: podepisují sestavení silnými názvy. Je tedy logické zadat vždy pouze jednu z těchto možností.

Více referenčních sestavení můžete zadat pomocí možnosti /reference vícekrát.

Vzhledem ke způsobu, jakým Tlbimp.exe generuje sestavení, není možné změnit cílení sestavení na jinou mscorlib verzi. Pokud například chcete vygenerovat sestavení, které cílí na rozhraní .NET Framework 2.0, musí se použít Tlbimp.exe dodávaná se sadou .NET Framework 2.0/3.0/3.5 SDK. Aby bylo možné cílit na rozhraní .NET Framework 4.x, měl by se použít Tlbimp.exe dodávaný se sadou .NET Framework 4.x SDK.

ID prostředku lze volitelně připojit k souboru knihovny typů při importu knihovny typů z modulu obsahujícího více knihoven typů. Nástroj Tlbimp.exe je schopen najít tento soubor pouze v případě, že se nachází v aktuálním adresáři, nebo pokud zadáte úplnou cestu. Podívejte se na příklad dále v tomto tématu.

Příklady

Následující příkaz vygeneruje sestavení se stejným názvem jako knihovna typů v myTest.tlb a s rozšířením .dll.

tlbimp myTest.tlb

Následující příkaz vygeneruje sestavení s názvem myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll  

Následující příkaz vygeneruje sestavení se stejným názvem jako knihovna typů určená příponou a s rozšířením MyModule.dll\1 .dll. MyModule.dll\1 musí být umístěn v aktuálním adresáři.

tlbimp MyModule.dll\1  

Následující příkaz vygeneruje sestavení s názvem myTestLib.dll knihovny TestLib.dlltypů . Možnost /transform:dispret transformuje všechny parametry [out, retval] metod na dispinterfaces v knihovně typů na návratové hodnoty ve spravované knihovně.

tlbimp TestLib.dll /transform:dispret /out:myTestLib.dll  

Knihovna TestLib.dlltypů v předchozím příkladu obsahuje metodu dispinterface s názvem SomeMethod , která vrací void a má parametr [out, retval]. Následující kód je podpis metody vstupní knihovny typů pro v TestLib.dllnástroji SomeMethod .

void SomeMethod([out, retval] VARIANT_BOOL*);  

Zadání možnosti /transform:dispret způsobí, že Tlbimp.exe transformuje [out, retval] parametr parametru na SomeMethod návratovou bool hodnotu. Následuje signatura metody, která Tlbimp.exe vytvoří SomeMethod ve spravované knihovně myTestLib.dll , pokud je zadána možnost /transform:dispret .

bool SomeMethod();  

Pokud použijete Tlbimp.exe k vytvoření spravované knihovny pro bez TestLib.dll zadání /transform:dispret, nástroj vytvoří následující signaturu metody pro SomeMethod ve spravované knihovně myTestLib.dll.

void SomeMethod(out bool x);  

Viz také