Tlbexp.exe (exportér knihovny typů)Tlbexp.exe (Type Library Exporter)

Exportér knihovny typů generuje knihovny typů, které popisují typy definované v sestavení Common Language Runtime.The Type Library Exporter generates a type library that describes the types defined in a common language runtime assembly.

Tento nástroj je automaticky nainstalován se sadou Visual Studio.This tool is automatically installed with Visual Studio. Chcete-li spustit nástroj, použijte Developer Command Prompt pro Visual Studio (nebo příkazový řádek sady Visual Studio v systému Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Další informace najdete v tématu výzvy k zadání příkazu.For more information, see Command Prompts.

V příkazovém řádku zadejte následující:At the command prompt, type the following:

SyntaxeSyntax

tlbexp assemblyName [options]  

ParametryParameters

ArgumentArgument PopisDescription
assemblyNameassemblyName Sestavení, pro které se má exportovat knihovna typů.The assembly for which to export a type library.
MožnostOption PopisDescription
/asmPath: adresář/asmpath: directory Určuje umístění, ve kterém se mají hledat sestavení.Specifies the location to search for assemblies. Pokud použijete tuto možnost, musíte explicitně zadat umístění, ve kterém se mají hledat odkazovaná sestavení, včetně aktuálního adresáře.If you use this option, you must explicitly specify the locations to search for referenced assemblies, including the current directory.

Při použití možnosti asmPath nebude Exportér knihovny typů Hledat sestavení v globální mezipaměti sestavení (GAC).When you use the asmpath option, the Type Library Exporter will not look for an assembly in the global assembly cache (GAC).
/ Help/help Zobrazí syntaxi příkazu a možnosti nástroje.Displays command syntax and options for the tool.
/Names: název souboru/names: filename Určuje velikost písmen názvů v knihovně typů.Specifies the capitalization of names in a type library. Argument filename je textový soubor.The filename argument is a text file. Každý řádek v souboru určuje velikost písmen jednoho názvu v knihovně typů.Each line in the file specifies the capitalization of one name in the type library.
/nologo/nologo Potlačí zobrazení úvodního nápisu společnosti Microsoft.Suppresses the Microsoft startup banner display.
/oldnames/oldnames Donutí Tlbexp.exe exportovat upravené názvy typů, jestliže dojde ke konfliktu názvu typů.Forces Tlbexp.exe to export decorated type names if there is a type name conflict. Toto bylo výchozí chování ve verzích rozhraní .NET Framework nižších než 2.0.Note that this was the default behavior in versions prior to the .NET Framework version 2.0.
/out: soubor/out: file Určuje název souboru knihovny typů, který má být vytvořen.Specifies the name of the type library file to generate. Pokud tento parametr vynecháte, Tlbexp.exe vygeneruje knihovnu typů se stejným názvem, jako je název sestavení (skutečný název sestavení, který nemusí být nutně stejný jako název souboru obsahujícího sestavení), a s příponou .tlb.If you omit this option, Tlbexp.exe generates a type library with the same name as the assembly (the actual assembly name, which might not necessarily be the same as the file containing the assembly) and a .tlb extension.
/Silence: warningnumber/silence: warningnumber Potlačí zobrazení konkrétního upozornění.Suppresses the display of the specified warning. Tuto možnost nelze použít s /Silent.This option cannot be used with /silent.
/ silent/silent Potlačí zobrazování zpráv o úspěšném dokončení.Suppresses the display of success messages. Tuto možnost nelze použít s /Silence.This option cannot be used with /silence.
/tlbreference: názevknihovnytypů/tlbreference: typelibraryname Donutí Tlbexp.exe explicitně vyřešit odkazy typu knihovny bez konzultace s registrem.Forces Tlbexp.exe to explicitly resolve type library references without consulting the registry. Například, pokud sestavení B odkazuje na sestavení A, můžete použít tuto možnost k poskytnutí explicitního odkazu na knihovnu typů a nespoléhat se na knihovnu typů zadanou v registru.For example, if assembly B references assembly A, you can use this option to provide an explicit type library reference, rather than relying on the type library specified in the registry. Tlbexp.exe provádí kontroly verze pro zajištění, že verze knihovny typů bude odpovídat verzi sestavení; pokud verze knihovny neodpovídá, dojde k chybě.Tlbexp.exe performs a version check to ensure that the type library version matches the assembly version; otherwise, it generates an error.

Všimněte si, že možnost tlbreference stále používá registr v případech, kde ComImportAttribute je atribut použit na rozhraní, které je následně implementováno jiným typem.Note that the tlbreference option still consults the registry in cases where the ComImportAttribute attribute is applied to an interface that is then implemented by another type.
/tlbrefpath: cesta/tlbrefpath: path Plně kvalifikovaná cesta na odkazovanou knihovnu typů.Fully qualified path to a referenced type library.
/win32/win32 Při kompilaci na 64bitovém počítači tato možnost určuje, že Tlbexp.exe vygeneruje 32bitovou knihovnu typů.When compiling on a 64-bit computer, this option specifies that Tlbexp.exe generates a 32-bit type library.
/win64/win64 Při kompilaci na 32bitovém počítači tato možnost určuje, že Tlbexp.exe vygeneruje 64bitovou knihovnu typů.When compiling on a 32-bit computer, this option specifies that Tlbexp.exe generates a 64-bit type library.
/verbose/verbose Určuje režim podrobného vypisování; zobrazí seznam všech odkazovaných sestavení, pro která je třeba vytvořit knihovnu typů.Specifies verbose mode; displays a list of any referenced assemblies for which a type library needs to be generated.
/?/? Zobrazí syntaxi příkazu a možnosti nástroje.Displays command syntax and options for the tool.

Poznámka

Možnosti příkazového řádku pro Tlbexp.exe nerozlišují malá a velká písmena a lze je zadat v libovolném pořadí.The command-line options for Tlbexp.exe are case-insensitive and can be supplied in any order. Pro jednoznačnou identifikaci je potřeba pouze poskytnout dostatek parametrů.You only need to specify enough of the option to uniquely identify it. Například /n je ekvivalentem /nologoa /o: soubor. tlb je ekvivalentní k /out: soubor. tlb.For example, /n is equivalent to /nologo, and /o: outfile.tlb is equivalent to /out: outfile.tlb.

PoznámkyRemarks

Nástroj Tlbexp.exe vygeneruje knihovnu typů obsahující definice typů definovaných v sestavení.Tlbexp.exe generates a type library that contains definitions of the types defined in the assembly. Aplikace jako například Visual Basic 6.0 může použít vygenerovanou knihovnu typů ke svázání s typy rozhraní .NET definovanými v sestavení.Applications such as Visual Basic 6.0 can use the generated type library to bind to the .NET types defined in the assembly.

Důležité

Pomocí nástroje Tlbexp.exe nelze exportovat soubory metadat systému Windows (.winmd).You cannot use Tlbexp.exe to export Windows metadata (.winmd) files. Export sestavení modulů Windows Runtime není podporován.Exporting Windows Runtime assemblies is not supported.

Celé sestavení se převede najednou.The entire assembly is converted at once. Pomocí nástroje Tlbexp.exe nelze generovat informace o typu pro podtypy definované v sestavení.You cannot use Tlbexp.exe to generate type information for a subset of the types defined in an assembly.

Tlbexp. exe nelze použít k vytvoření knihovny typů ze sestavení, které bylo importováno pomocí nástroje pro Import knihovny typů (Tlbimp. exe).You cannot use Tlbexp.exe to produce a type library from an assembly that was imported using the Type Library Importer (Tlbimp.exe). Místo toho byste měli použít původní knihovnu typů, která byla importována pomocí nástroje Tlbimp.exe.Instead, you should refer to the original type library that was imported with Tlbimp.exe. Knihovny typů můžete exportovat ze sestavení, která odkazují na sestavení, jež byla importována pomocí nástroje Tlbimp.exe.You can export a type library from an assembly that references assemblies that were imported using Tlbimp.exe. Příklady najdete v části níže.See the examples section below.

Nástroj Tlbexp.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.Tlbexp.exe places generated type libraries in the current working directory or the directory specified for the output file. Jediné sestavení může způsobit vygenerování několika knihoven typů.A single assembly might cause several type libraries to be generated.

Nástroj Tlbexp.exe vygeneruje knihovnu typů, ale nezaregistruje ji.Tlbexp.exe generates a type library but does not register it. To je na rozdíl od Nástroje pro registraci sestavení (Regasm. exe), který vygeneruje a zaregistruje knihovnu typů.This is in contrast to the Assembly Registration tool (Regasm.exe), which both generates and registers a type library. Chcete-li vygenerovat a zaregistrovat knihovnu typů s modelem COM, použijte nástroj Regasm.exe.To generate and register a type library with COM, use Regasm.exe.

Pokud nezadáte žádnou z /win32 možností nebo /win64 , Tlbexp. exe vygeneruje knihovnu typů 32 nebo 64, která odpovídá typu počítače, na kterém provádíte kompilaci (32-bit 64 nebo 16bitový počítač).If you do not specify either the /win32 or /win64 option, Tlbexp.exe generates a 32-bit or 64-bit type library that corresponds to the type of computer on which you are performing the compilation (32-bit or 64-bit computer). Pro účely křížové kompilace můžete použít /win64 možnost na 32 počítače ke generování knihovny typů 64 a můžete /win32 použít možnost na počítači 64 pro vy32 generování 16bitové knihovny typů.For cross-compilation purposes, you can use the /win64 option on a 32-bit computer to generate a 64-bit type library and you can use the /win32 option on a 64-bit computer to generate a 32-bit type library. 32 v 64bitových knihovnách SYSKIND typů je hodnota nastavena na. SYS_WIN32In 32-bit type libraries, the SYSKIND value is set to SYS_WIN32. 64 v 64bitových knihovnách SYSKIND typů je hodnota nastavena na. SYS_WIN64In 64-bit type libraries, the SYSKIND value is set to SYS_WIN64. Všechny transformace datových typů (například datové typy IntPtr velikosti ukazatelů, jako jsou a UIntPtr), jsou vhodně převedeny.All data type transformations (for example, pointer-sized data types such as IntPtr and UIntPtr) are converted appropriately.

Použijete MarshalAsAttribute -li atribut k SafeArraySubType určení hodnoty VT_UNKOWN nebo VT_DISPATCH, Tlbexp. exe ignoruje jakékoli následné použití SafeArrayUserDefinedSubType pole.If you use the MarshalAsAttribute attribute to specify a SafeArraySubType value of VT_UNKOWN or VT_DISPATCH, Tlbexp.exe ignores any subsequent use of the SafeArrayUserDefinedSubType field. Například při následujících podpisech:For example, given the following signatures:

[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_UNKNOWN, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructUnkSafe(){return null;}  
[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_DISPATCH, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructDispSafe(){return null;}  

je vygenerována následující knihovna typů:the following type library is generated:

[id(0x60020004)]  
HRESULT StructUnkSafe([out, retval] SAFEARRAY(IUnknown*)* pRetVal);  
[id(0x60020005)]  
HRESULT StructDispSafe([out, retval] SAFEARRAY(IDispatch*)* pRetVal);  

Všimněte si, že Tlbexp. exe SafeArrayUserDefinedSubType ignoruje pole.Note that Tlbexp.exe ignores the SafeArrayUserDefinedSubType field.

Vzhledem k tomu, že knihovny typů nemohou pojmout všechny informace, které jsou součástí sestavení, nástroj Tlbexp.exe může zrušit některá data během exportu.Because type libraries cannot accommodate all the information found in assemblies, Tlbexp.exe might discard some data during the export process. Vysvětlení procesu transformace a identifikace zdroje všech informací emitovaných do knihovny typů naleznete v tématu Souhrn převodu sestavení na knihovnu typů.For an explanation of the transformation process and identification of the source of each piece of information emitted to a type library, see the Assembly to Type Library Conversion Summary.

Všimněte si, že Exportér knihovny typů exportuje metody, TypedReference které mají VARIANTparametry jako, a TypedReference to i v případě, že objekt nemá smysl v nespravovaném kódu.Note that the Type Library Exporter exports methods that have TypedReference parameters as VARIANT, even though the TypedReference object has no meaning in unmanaged code. Při exportu metod, které mají TypedReference parametry, Exportér knihovny typů negeneruje upozornění ani chybu a nespravovaný kód, který používá výslednou knihovnu typů, nebude správně fungovat.When you export methods that have TypedReference parameters, the Type Library Exporter will not generate a warning or error and unmanaged code that uses the resulting type library will not run properly.

Exportér knihovny typů je podporován v systému Microsoft Windows 2000 a novějším.The Type Library Exporter is supported on Microsoft Windows 2000 and later.

PříkladyExamples

Následující příkaz vygeneruje knihovnu typů se stejným názvem, jako má sestavení nalezené v myTest.dll.The following command generates a type library with the same name as the assembly found in myTest.dll.

tlbexp myTest.dll  

Následující příkaz vygeneruje knihovnu typů s názvem clipper.tlb.The following command generates a type library with the name clipper.tlb.

tlbexp myTest.dll /out:clipper.tlb  

Následující příklad ukazuje použití nástroje Tlbexp.exe k exportování knihovny typů ze sestavení, které odkazuje na sestavení, jež byla importována pomocí nástroje Tlbimp.exe.The following example illustrates using Tlbexp.exe to export a type library from an assembly that references assemblies that were imported using Tlbimp.exe.

Nejprve pomocí nástroje Tlbimp. exe importujte knihovnu myLib.tlb typů a uložte ji jako. myLib.dllFirst use Tlbimp.exe to import the type library myLib.tlb and save it as myLib.dll.

tlbimp myLib.tlb /out:myLib.dll  

Následující příkaz použije C# kompilátor k zkompilování Sample.dll, odkazů myLib.dll , které byly vytvořeny v předchozím příkladu.The following command uses the C# compiler to compile the Sample.dll, which references myLib.dll created in the previous example.

CSC Sample.cs /reference:myLib.dll /out:Sample.dll  

Následující příkaz vygeneruje knihovnu typů pro Sample.dll tyto odkazy. myLib.dllThe following command generates a type library for Sample.dll that references myLib.dll.

tlbexp Sample.dll  

Viz také:See also