Tlbimp.exe (Type Library Importer-Tool)Tlbimp.exe (Type Library Importer)

Das Type Library Importer-Tool konvertiert die Typdefinitionen einer COM-Typbibliothek in äquivalente Definitionen einer Common Language Runtime-Assembly.The Type Library Importer converts the type definitions found within a COM type library into equivalent definitions in a common language runtime assembly. Die Ausgabe von "Tlbimp.exe" besteht aus einer binären Datei (einer Assembly), die Laufzeitmetadaten für die in der ursprünglichen Typbibliothek definierten Typen enthält.The output of Tlbimp.exe is a binary file (an assembly) that contains runtime metadata for the types defined within the original type library. Diese Datei können Sie mit Tools wie Ildasm.exe überprüfen.You can examine this file with tools such as Ildasm.exe.

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

tlbimp tlbFile [options]  

ParameterParameters

ArgumentArgument BeschreibungDescription
tlbFiletlbFile Der Name einer beliebigen Datei, die eine COM-Typbibliothek enthält.The name of any file that contains a COM type library.
OptionOption BeschreibungDescription
/asmversion: versionnumber/asmversion: versionnumber Gibt die Versionsnummer der zu erstellenden Assembly an.Specifies the version number of the assembly to produce. Geben Sie versionnumber im Format major.minor.build.revision an.Specify versionnumber in the format major.minor.build.revision.
/company:/company: companyinformation Fügt der Ausgabeassembly Unternehmensinformationen hinzu.Adds company information to the output assembly.
/copyright:/copyright: copyrightinformation Fügt der Ausgabeassembly Copyrightinformationen hinzu.Adds copyright information to the output assembly. Diese Informationen können im Dialogfeld Dateieigenschaften für die Assembly angezeigt werden.This information can be viewed in the File Properties dialog box for the assembly.
/delaysign/delaysign Legt fest, dass "Tlbimp.exe" die resultierende Assembly mit einem starken Namen verzögert signiert.Specifies to Tlbimp.exe to sign the resulting assembly with a strong name using delayed signing. Sie müssen diese Option entweder zusammen mit der Option /keycontainer:, /keyfile: oder /publickey: angeben.You must specify this option with either the /keycontainer:, /keyfile:, or /publickey: option. Weitere Informationen zum verzögerten Signieren finden Sie unter Verzögertes Signieren einer Assembly.For more information on the delayed signing process, see Delay Signing an Assembly.
/help/help Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.
/keycontainer: containername/keycontainer: containername Signiert die resultierende Assembly mit einem starken Namen, wobei das Paar aus privatem und öffentlichem Schlüssel aus dem Schlüsselcontainer verwendet wird, der mit containername angegeben wurde.Signs the resulting assembly with a strong name using the public/private key pair found in the key container specified by containername.
/keyfile: filename/keyfile: filename Signiert die resultierende Assembly unter Verwendung des unter filename angegebenen Paar aus privatem und öffentlichem Schlüssel mit einem starken Namen.Signs the resulting assembly with a strong name using the publisher's official public/private key pair found in filename.
/machine:/machine: machinetype Erstellt eine Assembly, die auf den angegebenen Computertyp (Mikroprozessor) ausgerichtet ist.Creates an assembly that targets the specified machine type (microprocessor). Unterstützte Computertypen: x86, x64, Itanium und plattformübergreifende Typen.Supported machine types: x86, x64, Itanium, and Agnostic.
/namespace: namespace/namespace: namespace Gibt den Namespace an, in dem die Assembly erstellt werden soll.Specifies the namespace in which to produce the assembly.
/noclassmembers/noclassmembers Verhindert, dass "Tlbimp.exe" Member Klassen hinzufügt.Prevents Tlbimp.exe from adding members to classes. Dadurch wird eine mögliche TypeLoadException verhindert.This avoids a potential TypeLoadException.
/nologo/nologo Unterdrückt die Anzeige des Startbanners von Microsoft.Suppresses the Microsoft startup banner display.
/out: filename/out: filename Gibt den Namen der Ausgabedatei, der Assembly und des Namespaces an, in dem die Metadatendefinitionen geschrieben werden sollen.Specifies the name of the output file, assembly, and namespace in which to write the metadata definitions. Die /out-Option hat keine Auswirkung auf den Namespace der Assembly, wenn in der Typbibliothek die benutzerdefinierten Attribute der IDL (Interface Definition Language) angegeben sind. Diese steuern explizit den Namespace der Assembly.The /out option has no effect on the assembly's namespace if the type library specifies the Interface Definition Language (IDL) custom attribute that explicitly controls the assembly's namespace. Wenn Sie diese Option nicht angeben, schreibt "Tlbimp.exe" die Metadaten in eine Datei, die den von der aktuellen Typbibliothek in der Eingabedatei definierten Namen trägt, und weist dieser die Erweiterung ".dll" zu.If you do not specify this option, Tlbimp.exe writes the metadata to a file with the same name as the actual type library defined within the input file and assigns it a .dll extension. Stimmt der Name der Ausgabedatei mit dem der Eingabedatei überein, wird eine Fehlermeldung ausgegeben, um ein Überschreiben der Typbibliothek zu verhindern.If the output file is the same name as the input file, the tool generates an error to prevent overwriting the type library.
/primary/primary Erstellt für die angegebene Typbibliothek eine primäre Interopassembly.Produces a primary interop assembly for the specified type library. Der Assembly wird der Hinweis hinzugefügt, dass der Herausgeber der Typbibliothek die Assembly erstellt hat.Information is added to the assembly indicating that the publisher of the type library produced the assembly. Sie unterscheiden die Assembly eines Verlegers von beliebigen anderen Assemblys, die mit "Tlbimp.exe" aus der Typbibliothek erstellt werden, indem Sie eine primäre Interopassembly angeben.By specifying a primary interop assembly, you differentiate a publisher's assembly from any other assemblies that are created from the type library using Tlbimp.exe. Verwenden Sie nur die /primary-Option, wenn Sie der Verleger der Typbibliothek sind, die mit „Tlbimp.exe“ importiert wird.You should only use the /primary option if you are the publisher of the type library that you are importing with Tlbimp.exe. Beachten Sie, dass Sie eine primäre Interopassembly mit einem starken Namen signieren müssen.Note that you must sign a primary interop assembly with a strong name. Weitere Informationen finden Sie unter Primäre Interopassemblys.For more information, see Primary Interop Assemblies.
/product:/product: productinformation Fügt der Ausgabeassembly Produktinformationen hinzu.Adds product information to the output assembly. Diese Informationen können im Dialogfeld Dateieigenschaften für die Assembly angezeigt werden.This information can be viewed in the File Properties dialog box for the assembly.
/productversion:/productversion: productversioninformation Fügt der Ausgabeassembly die Produktversion hinzu.Adds product version information to the output assembly. Es gibt keine Formateinschränkungen.There are no format restrictions. Diese Informationen können im Dialogfeld Dateieigenschaften für die Assembly angezeigt werden.This information can be viewed in the File Properties dialog box for the assembly.
/publickey: filename/publickey: filename Gibt die Datei an, die den öffentlichen Schlüssel zum Signieren der resultierenden Assembly enthält.Specifies the file containing the public key to use to sign the resulting assembly. Wenn Sie die Option /keyfile: oder /keycontainer: anstelle der Option /publickey: angeben, generiert „Tlbimp.exe“ den öffentlichen Schlüssel aus dem über /keyfile: bzw. /keycontainer: bereitgestellten Paar aus privatem und öffentlichem Schlüssel.If you specify the /keyfile: or /keycontainer: option instead of /publickey:, Tlbimp.exe generates the public key from the public/private key pair supplied with /keyfile: or /keycontainer:. Die Option /publickey: unterstützt Testschlüssel und Szenarien für verzögertes Signieren.The /publickey: option supports test key and delay signing scenarios. Die Datei weist das von "Sn.exe" generierte Format auf.The file is in the format generated by Sn.exe. Weitere Informationen finden Sie unter der -p-Option von „Sn.exe“ unter Strong Name-Tool (Sn.exe).For more information, see the -p option of Sn.exe in Strong Name Tool (Sn.exe).
/reference: filename/reference: filename Gibt die Assemblydatei an, die für das Auflösen von Verweisen auf Typen verwendet werden soll, die außerhalb der aktuellen Typbibliothek definiert sind.Specifies the assembly file to use to resolve references to types defined outside the current type library. Wenn Sie die Option /reference nicht angeben, importiert „Tlbimp.exe“ automatisch rekursiv jede externe Typbibliothek, auf die die zu importierende Typbibliothek verweist.If you do not specify the /reference option, Tlbimp.exe automatically recursively imports any external type library that the type library being imported references. Wenn Sie die Option /reference angeben, versucht das Tool zunächst, die externen Typen in den verwiesenen Assemblys aufzulösen, bevor es andere Typbibliotheken importiert.If you specify the /reference option, the tool attempts to resolve external types in the referenced assemblies before it imports other type libraries.
/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.
/strictref/strictref Eine Typbibliothek wird nicht importiert, wenn das Tool nicht alle Verweise in der aktuellen Assembly, in den mit der Option /reference angegebenen Assemblys oder in den registrierten primären Interopassemblys auflösen kann.Does not import a type library if the tool cannot resolve all references within the current assembly, the assemblies specified with the /reference option, or registered primary interop assemblies (PIAs).
/strictref:nopia/strictref:nopia Entspricht /strictref, ignoriert jedoch primäre Interopassemblys.Same as /strictref, but ignores PIAs.
/sysarray/sysarray Gibt die Anweisung an das Tool, ein SafeArray im COM-Format als verwalteten Array-Typ zu importierenSpecifies to the tool to import a COM style SafeArray as a managed Array type.
/tlbreference: filename/tlbreference: filename Gibt die zum Auflösen der Verweise auf Typbibliotheken zu verwendende Typbibliotheksdatei an, ohne Einträge aus der Registrierung abzurufen.Specifies the type library file to use to resolve type library references without consulting the registry.

Beachten Sie, dass bei dieser Option einige ältere Typbibliotheksformate nicht geladen werden.Note that this option will not load some older type library formats. Sie können jedoch ältere Typbibliotheksformate implizit über die Registrierung oder das aktuelle Verzeichnis laden.However, you can still load older type library formats implicitly through the registry or current directory.
/trademark:/trademark: trademarkinformation Fügt der Ausgabeassembly Markeninformationen hinzu.Adds trademark information to the output assembly. Diese Informationen können im Dialogfeld Dateieigenschaften für die Assembly angezeigt werden.This information can be viewed in the File Properties dialog box for the assembly.
/transform: transformname/transform: transformname Konvertiert Metadaten entsprechend dem Parameter transformname.Transforms metadata as specified by the transformname parameter.

Geben Sie dispret für den Parameter transformname an, um [out, retval]-Parameter der Methoden für auf Dispatch beschränkte Schnittstellen (Disp-Schnittstellen) in Rückgabewerte zu konvertieren.Specify dispret for the transformname parameter to transform [out, retval] parameters of methods on dispatch-only interfaces (dispinterfaces) into return values.

Weitere Informationen über diese Option finden Sie in den Beispielen weiter unten in diesem Thema.For more information about this option, see the examples later in this topic.
/unsafe/unsafe Erstellt Schnittstellen ohne .NET Framework-Sicherheitsüberprüfungen.Produces interfaces without .NET Framework security checks. Eine auf diese Weise verfügbar gemachte Methode aufzurufen, kann ein Sicherheitsrisiko darstellen.Calling a method that is exposed in this way might pose a security risk. Sie sollten diese Option nur verwenden, wenn Sie die Risiken abschätzen können, die das Verfügbarmachen von derartigem Code beinhaltet.You should not use this option unless you are aware of the risks of exposing such code.
/verbose/verbose Gibt den ausführlichen Modus an und zeigt zusätzliche Informationen über die importierte Typbibliothek an.Specifies verbose mode; displays additional information about the imported type library.
/VariantBoolFieldToBool/VariantBoolFieldToBool Konvertiert VARIANT_BOOL-Felder in Strukturen in Boolean.Converts VARIANT_BOOL fields in structures to Boolean.
/?/? Zeigt Befehlssyntax und Optionen für das Tool an.Displays command syntax and options for the tool.

Hinweis

Bei den Befehlszeilenoptionen für "Tlbimp.exe" wird die Groß- und Kleinschreibung nicht beachtet, und die Optionen können in beliebiger Reihenfolge angegeben werden.The command-line options for Tlbimp.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. Damit entspricht /n z.B. /nologo ,und /ou: outfile.dll entspricht /out: outfile.dll.Therefore, /n is equivalent to /nologo and /ou: outfile.dll is equivalent to /out: outfile.dll.

AnmerkungenRemarks

"Tlbimp.exe" führt Konvertierungen für eine ganze Typbibliothek auf einmal durch.Tlbimp.exe performs conversions on an entire type library at one time. Typinformationen zu einer Teilmenge der in einer einzelnen Typbibliothek definierten Typen können Sie mithilfe dieses Tools nicht generieren.You cannot use the tool to generate type information for a subset of the types defined within a single type library.

Es ist oft hilfreich oder notwendig, Assemblys starke Namen zuweisen zu können.It is often useful or necessary to be able to assign strong names to assemblies. Daher beinhaltet "Tlbimp.exe" Optionen, um die zur Generierung von Assemblys mit starken Namen notwendigen Informationen bereitzustellen.Therefore, Tlbimp.exe includes options for supplying the information necessary to generate strongly named assemblies. Sowohl die Option /keyfile: als auch die Option /keycontainer: signieren Assemblys mit starken Namen.Both the /keyfile: and /keycontainer: options sign assemblies with strong names. Darum ist es sinnvoll, jeweils nur eine dieser Optionen zur Verfügung zu stellen.Therefore, it is logical to supply only one of these options at a time.

Sie können mehrere Verweisassemblys angeben, indem Sie die Option /reference mehrmals verwenden.You can specify multiple reference assemblies by using the /reference option multiple times.

Beim Importieren einer Typbibliothek aus einem Modul mit mehreren Typbibliotheken kann optional eine Ressourcen-ID an eine Typbibliothekdatei angehängt werden.A resource ID can optionally be appended to a type library file when importing a type library from a module containing multiple type libraries. "Tlbimp.exe" kann diese Datei nur finden, wenn sie sich im aktuellen Verzeichnis befindet oder der vollständige Pfad angegeben wird.Tlbimp.exe is able to locate this file only if it is in the current directory or if you specify the full path. Siehe das Beispiel weiter unten in diesem Thema.See the example later in this topic.

BeispieleExamples

Durch folgenden Befehl wird eine Assembly generiert, die den von der Typbibliothek in myTest.tlb gefundenen Namen und die Erweiterung ".dll" aufweist.The following command generates an assembly with the same name as the type library found in myTest.tlb and with the .dll extension.

tlbimp myTest.tlb   

Der folgende Befehl generiert eine Assembly mit dem Namen myTest.dll.The following command generates an assembly with the name myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll  

Durch folgenden Befehl wird eine Assembly generiert, die den Namen der Typbibliothek, die von MyModule.dll\1 angegeben wurde, und die Erweiterung „.dll“ aufweist.The following command generates an assembly with the same name as the type library specified by MyModule.dll\1 and with the .dll extension. MyModule.dll\1 muss im aktuellen Verzeichnis befinden.must be located in the current directory.

tlbimp MyModule.dll\1  

Durch folgenden Befehl wird eine Assembly mit dem Namen myTestLib.dll für die Typbibliothek TestLib.dll generiert.The following command generates an assembly with the name myTestLib.dll for the type library TestLib.dll. Die Option /transform:dispret konvertiert beliebige [out, retval]-Parameter von Methoden für Disp-Schnittstellen in der Typbibliothek in Rückgabewerte in der verwalteten Bibliothek.The /transform:dispret option transforms any [out, retval] parameters of methods on dispinterfaces in the type library into return values in the managed library.

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

Die Typbibliothek TestLib.dll im vorangegangenen Beispiel verfügt über eine dispinterface-Methode mit dem Namen SomeMethod, die "void" zurückgibt und einen [out, retval]-Parameter aufweist.The type library TestLib.dll, in the preceding example, includes a dispinterface method named SomeMethod that returns void and has an [out, retval] parameter. Der folgende Code stellt die Signatur der Typbibliotheksmethode für SomeMethod in TestLib.dll dar.The following code is the input type library method signature for SomeMethod in TestLib.dll.

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

Durch Angabe der Option /transform:dispret wird „Tlbimp.exe“ veranlasst, den [out, retval]-Parameter von SomeMethod in einen bool-Rückgabewert zu transformieren.Specifying the /transform:dispret option causes Tlbimp.exe to transform the [out, retval] parameter of SomeMethod into a bool return value. Der folgende Code zeigt die Methodensignatur, die „Tlbimp.exe“ für SomeMethod in der verwalteten Bibliothek myTestLib.dll erstellt, wenn die Option /transform:dispret angegeben wird.The following is the method signature that Tlbimp.exe produces for SomeMethod in the managed library myTestLib.dll when the /transform:dispret option is specified.

bool SomeMethod();  

Wenn Sie „Tlbimp.exe“ verwenden, um eine verwaltete Bibliothek für TestLib.dll zu erstellen, ohne /transform:dispret anzugeben, erstellt das Tool die folgende Methodensignatur für SomeMethod in der verwalteten Bibliothek myTestLib.dll.If you use Tlbimp.exe to produce a managed library for TestLib.dll without specifying the /transform:dispret, the tool produces the following method signature for SomeMethod in the managed library myTestLib.dll.

void SomeMethod(out bool x);  

Siehe auchSee also