Tlbexp.exe (Type Library Exporter-Tool)Tlbexp.exe (Type Library Exporter)

Das Type Library Exporter-Tool generiert eine Typbibliothek, die die in einer Assembly der Common Language Runtime definierten Typen beschreibt.The Type Library Exporter generates a type library that describes the types defined in a common language runtime assembly.

Dieses Tool wird automatisch mit Visual Studio installiert.This tool is automatically installed with Visual Studio. Verwenden Sie die Developer-Eingabeaufforderung für Visual Studio (oder die Visual Studio-Eingabeaufforderung in Windows 7), um das Tool auszuführen.To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Weitere Informationen finden Sie unter Eingabeaufforderungen.For more information, see Command Prompts.

Geben Sie an der Eingabeaufforderung Folgendes ein:At the command prompt, type the following:

SyntaxSyntax

tlbexp assemblyName [options]  

ParameterParameters

ArgumentArgument BeschreibungDescription
assemblyNameassemblyName Die Assembly, für die eine Typbibliothek exportiert werden soll.The assembly for which to export a type library.
OptionOption BeschreibungDescription
/asmpath: verzeichnis/asmpath: directory Gibt den Speicherort an, der nach Assemblys durchsucht werden soll.Specifies the location to search for assemblies. Wenn Sie diese Option verwenden, müssen Sie die Speicherorte, die nach Assemblys durchsucht werden sollen, auf die verwiesen wird, explizit angeben, einschließlich des aktuellen Verzeichnisses.If you use this option, you must explicitly specify the locations to search for referenced assemblies, including the current directory.

Wenn Sie die asmpath-Option verwenden, sucht das Type Library Exporter-Tool nicht nach einer Assembly im globalen Assemblycache (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 Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.
/names: dateiname/names: filename Legt die Großschreibung von Namen in einer Typbibliothek fest.Specifies the capitalization of names in a type library. Das filename-Argument entspricht einer Textdatei.The filename argument is a text file. Jede Zeile in der Datei legt die Großschreibung eines in der Typbibliothek enthaltenen Namens fest.Each line in the file specifies the capitalization of one name in the type library.
/nologo/nologo Unterdrückt die Anzeige des Startbanners von Microsoft.Suppresses the Microsoft startup banner display.
/oldnames/oldnames Erzwingt, dass "Tlbexp.exe" ergänzte Typnamen exportiert, wenn ein Typnamenkonflikt vorliegt.Forces Tlbexp.exe to export decorated type names if there is a type name conflict. Beachten Sie, dass dies das Standardverhalten in den Vorgängerversionen von .NET Framework Version 2.0 war.Note that this was the default behavior in versions prior to the .NET Framework version 2.0.
/out: datei/out: file Gibt den Namen der zu generierenden Typbibliotheksdatei an.Specifies the name of the type library file to generate. Wenn Sie diese Option nicht angeben, generiert "Tlbexp.exe" eine Typbibliothek mit dem Namen der Assembly (der tatsächliche Assemblyname, der nicht mit dem Namen der Datei übereinstimmen muss, in der die Assembly enthalten ist) und einer Erweiterung ".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:/silence: warningnumber Unterdrückt die Anzeige der angegebenen Warnung.Suppresses the display of the specified warning. Diese Option kann nicht zusammen mit /silent verwendet werden.This option cannot be used with /silent.
/silent/silent Unterdrückt die Anzeige von Erfolgsmeldungen.Suppresses the display of success messages. Diese Option kann nicht zusammen mit /silence verwendet werden.This option cannot be used with /silence.
/tlbreference: typbibliothekname/tlbreference: typelibraryname Erzwingt, dass "Tlbexp.exe" Typbibliotheksverweise explizit auflöst, ohne auf die Registrierung zurückzugreifen.Forces Tlbexp.exe to explicitly resolve type library references without consulting the registry. Wenn beispielsweise Assembly B auf Assembly A verweist, können Sie diese Option verwenden, um einen expliziten Typbibliotheksverweis anzugeben, statt auf die in der Registrierung angegebene Typbibliothek zurückzugreifen.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" führt eine Versionsüberprüfung durch, um sicherzustellen, dass die Typbibliotheksversion mit der Assemblyversion übereinstimmt. Andernfalls wird ein Fehler generiert.Tlbexp.exe performs a version check to ensure that the type library version matches the assembly version; otherwise, it generates an error.

Beachten Sie, dass die tlbreference-Option dennoch auf die Registrierung zurückgreift, wenn das ComImportAttribute-Attribut auf eine Schnittstelle angewendet wird, die anschließend von einem anderen Typ implementiert wird.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: pfad/tlbrefpath: path Vollqualifizierter Pfad zu einer Typbibliothek, auf die verwiesen wird.Fully qualified path to a referenced type library.
/win32/win32 Wenn auf einem 64-Bit-Computer kompiliert wird, gibt diese Option an, dass "Tlbexp.exe" eine 32-Bit-Typbibliothek generiert.When compiling on a 64-bit computer, this option specifies that Tlbexp.exe generates a 32-bit type library.
/win64/win64 Wenn auf einem 32-Bit-Computer kompiliert wird, gibt diese Option an, dass „tlbexp.exe“ eine 64-Bit-Typbibliothek generiert.When compiling on a 32-bit computer, this option specifies that Tlbexp.exe generates a 64-bit type library.
/verbose/verbose Gibt den ausführlichen Modus an. Es wird eine Liste aller Assemblys angezeigt, auf die verwiesen wird und für die eine Typbibliothek generiert werden muss.Specifies verbose mode; displays a list of any referenced assemblies for which a type library needs to be generated.
/?/? Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.

Hinweis

Bei den Befehlszeilenoptionen für "Tlbexp.exe" wird die Groß- und Kleinschreibung nicht beachtet, und die Optionen können in beliebiger Reihenfolge angegeben werden.The command-line options for Tlbexp.exe are case-insensitive and can be supplied in any order. Geben Sie die Option einfach so weit an, dass eine eindeutige Identifizierung möglich ist.You only need to specify enough of the option to uniquely identify it. Z.B.: /n entspricht /nologo und /o: outfile.tlb entspricht /out: outfile.tlb.For example, /n is equivalent to /nologo, and /o: outfile.tlb is equivalent to /out: outfile.tlb.

AnmerkungenRemarks

"Tlbexp.exe" generiert eine Typbibliothek, die Definitionen der in der Assembly definierten Typen enthält.Tlbexp.exe generates a type library that contains definitions of the types defined in the assembly. Anwendungen wie Visual Basic 6.0 können mithilfe der generierten Typbibliothek Bindungen zu den in der Assembly definierten .NET-Typen erstellen.Applications such as Visual Basic 6.0 can use the generated type library to bind to the .NET types defined in the assembly.

Wichtig

Sie können "Tlbexp.exe" nicht verwenden, um Windows-Metadatendateien (.winmd) zu exportieren.You cannot use Tlbexp.exe to export Windows metadata (.winmd) files. Das Exportieren von Windows Runtime-Assemblys wird nicht unterstützt.Exporting Windows Runtime assemblies is not supported.

Die Assembly wird immer vollständig konvertiert.The entire assembly is converted at once. Sie können mit Tlbexp.exekeine Typinformationen für einen Teil der in der Assembly definierten Typen generieren.You cannot use Tlbexp.exe to generate type information for a subset of the types defined in an assembly.

„Tlbexp.exe“ kann nicht zum Erstellen einer Typbibliothek aus einer Assembly verwendet werden, die mit dem Type Library Importer-Tool (Tlbimp.exe) importiert wurde.You cannot use Tlbexp.exe to produce a type library from an assembly that was imported using the Type Library Importer (Tlbimp.exe). Stattdessen sollten Sie auf die ursprüngliche Typbibliothek verweisen, die mit "Tlbimp.exe" importiert wurde.Instead, you should refer to the original type library that was imported with Tlbimp.exe. Sie können eine Typbibliothek aus einer Assembly exportieren, die auf Assemblys verweist, die mit "Tlbimp.exe" importiert wurden.You can export a type library from an assembly that references assemblies that were imported using Tlbimp.exe. Weitere Informationen finden Sie im Abschnitt mit den Beispielen weiter unten.See the examples section below.

"Tlbexp.exe" speichert generierte Typbibliotheken im aktuellen Arbeitsverzeichnis oder dem für die Ausgabedatei angegebenen Verzeichnis.Tlbexp.exe places generated type libraries in the current working directory or the directory specified for the output file. Für eine einzelne Assembly können mehrere Typbibliotheken generiert werden.A single assembly might cause several type libraries to be generated.

"Tlbexp.exe" generiert eine Typbibliothek, registriert diese jedoch nicht.Tlbexp.exe generates a type library but does not register it. Dies steht im Gegensatz zum Assembly Registration-Tool (Regasm.exe), das eine Typbibliothek generiert und gleichzeitig registriert.This is in contrast to the Assembly Registration tool (Regasm.exe), which both generates and registers a type library. Verwenden Sie zum Generieren einer Typbibliothek und Registrieren in COM "Regasm.exe".To generate and register a type library with COM, use Regasm.exe.

Wenn Sie weder die /win32- noch die /win64-Option angeben, generiert "Tlbexp.exe" eine 32-Bit- oder 64-Bit-Typbibliothek, die dem Computertyp entspricht, auf dem Sie die Kompilierung ausführen (32-Bit- oder 64-Bit-Computer).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). Bei Kreuzkompilierungen können Sie die /win64-Option auf einem 32-Bit-Computer zum Generieren einer 64-Bit-Typbibliothek verwenden, und Sie können die /win32-Option auf einem 64-Bit-Computer zum Generieren einer 32-Bit-Typbibliothek verwenden.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. In 32-Bit-Typbibliotheken ist der SYSKIND-Wert auf SYS_WIN32 festgelegt.In 32-bit type libraries, the SYSKIND value is set to SYS_WIN32. In 64-Bit-Typbibliotheken ist der SYSKIND-Wert auf SYS_WIN64 festgelegt.In 64-bit type libraries, the SYSKIND value is set to SYS_WIN64. Alle Datentyptransformationen (z. B. Datentypen in Zeigergröße wie IntPtr und UIntPtr) werden entsprechend konvertiert.All data type transformations (for example, pointer-sized data types such as IntPtr and UIntPtr) are converted appropriately.

Wenn Sie das MarshalAsAttribute-Attribut verwenden, um einen SafeArraySubType-Wert VT_UNKOWN oder VT_DISPATCH anzugeben, ignoriert "Tlbexp.exe" jede nachfolgende Verwendung des Felds SafeArrayUserDefinedSubType.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. Betrachten Sie die folgenden Signaturen: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;}  

Die folgende Typbibliothek wird generiert:the following type library is generated:

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

Beachten Sie, dass "Tlbexp.exe" das Feld SafeArrayUserDefinedSubType ignoriert.Note that Tlbexp.exe ignores the SafeArrayUserDefinedSubType field.

Da Typbibliotheken nicht alle in den Assemblys gefundenen Informationen aufnehmen können, verwirft "Tlbexp.exe" während des Exportvorgangs möglicherweise einige Daten.Because type libraries cannot accommodate all the information found in assemblies, Tlbexp.exe might discard some data during the export process. Eine Erläuterung des Transformationsprozesses sowie Informationen darüber, wie Sie die Quelle der Informationen identifizieren, die an eine Typbibliothek ausgegeben werden, finden Sie unter Zusammenfassung: Konvertieren einer Assembly in eine Typbibliothek.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.

Beachten Sie, dass das Type Library Exporter-Tool Methoden exportiert, die über TypedReference-Parameter als VARIANT verfügen, obwohl das TypedReference-Objekt in nicht verwaltetem Code keine Bedeutung hat.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. Wenn Sie Methoden exportieren, die über TypedReference-Parameter verfügen, generiert das Type Library Exporter-Tool keine Warnung und keinen Fehler, und nicht verwalteter Code, der die resultierende Typbibliothek verwendet, wird nicht ordnungsgemäß ausgeführt.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.

Das Type Library Exporter-Tool wird unter Microsoft Windows 2000 und höher unterstützt.The Type Library Exporter is supported on Microsoft Windows 2000 and later.

BeispieleExamples

Der folgende Befehl generiert eine Typbibliothek mit dem Namen der in myTest.dll gefundenen Assembly.The following command generates a type library with the same name as the assembly found in myTest.dll.

tlbexp myTest.dll  

Der folgende Befehl generiert eine Typbibliothek mit dem Namen clipper.tlb.The following command generates a type library with the name clipper.tlb.

tlbexp myTest.dll /out:clipper.tlb  

Das folgende Beispiel veranschaulicht die Verwendung von "Tlbexp.exe" zum Exportieren einer Typbibliothek aus einer Assembly, die auf andere mit "Tlbimp.exe" importierte Assemblys verweist.The following example illustrates using Tlbexp.exe to export a type library from an assembly that references assemblies that were imported using Tlbimp.exe.

Importieren Sie zunächst mit "Tlbimp.exe" die Typbibliothek myLib.tlb, und speichern Sie sie als myLib.dll.First use Tlbimp.exe to import the type library myLib.tlb and save it as myLib.dll.

tlbimp myLib.tlb /out:myLib.dll  

Der folgende Befehl verwendet den C#-Compiler zum Kompilieren von Sample.dll,, die auf die im vorhergehenden Beispiel erstellte myLib.dll verweist.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  

Der folgende Befehl generiert eine Typbibliothek für Sample.dll, die auf myLib.dll verweist.The following command generates a type library for Sample.dll that references myLib.dll.

tlbexp Sample.dll  

Siehe auchSee also