Type Library Importer-Tool (Tlbimp.exe)

Aktualisiert: November 2007

Das Type Library Importer-Tool konvertiert die Typdefinitionen einer COM-Typbibliothek in äquivalente Definitionen einer Common Language Runtime-Assembly. Die Ausgabe von Tlbimp.exe besteht aus einer binäreren Datei (einer Assembly), die Laufzeitmetadaten für die in der ursprünglichen Typbibliothek definierten Typen enthält. Diese Datei können Sie mit Tools wie Ildasm.exe überprüfen.

tlbimp tlbFile [options]

Parameter

Argument

Beschreibung

tlbFile

Der Name einer beliebigen Datei, die eine COM-Typbibliothek enthält.

Option

Beschreibung

/asmversion:versionNumber

Gibt die Versionsnummer der zu erstellenden Assembly an. Geben Sie versionNumber im Format major.minor.build.revision an, beispielsweise 2.4.0.0.

/delaysign

Veranlasst Tlbimp.exe , die resultierende Assembly mit einem starken Namen verzögert zu signieren. Sie müssen diese Option entweder zusammen mit der Option /keycontainer:, /keyfile: oder /publickey: angeben. Weitere Informationen zum verzögerten Signieren erhalten Sie unter Verzögertes Signieren einer Assembly.

/help

Zeigt die Befehlssyntax und Optionen für das Tool an.

/keycontainer:containername

Signiert die resultierende Assembly unter Verwendung des öffentlichen/privaten Schlüsselpaars aus dem mit containername angegebenen Container mit einem starken Namen.

/keyfile:filename

Signiert die resultierende Assembly unter Verwendung des unter filename angegebenen öffentlichen/privaten Schlüsselpaars mit einem starken Namen.

/namespace:namespace

Gibt den Namespace an, in dem die Assembly erstellt werden soll.

/noclassmembers

Verhindert, dass Member durch Tlbimp.exe zu Klassen hinzugefügt werden. Dadurch wird eine mögliche TypeLoadException verhindert.

/nologo

Unterdrückt die Anzeige des Startbanners von Microsoft.

/out:filename

Gibt den Namen der Ausgabedatei, der Assembly und des Namespaces an, in dem die Metadatendefinitionen geschrieben werden sollen. 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. 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 eine DLL-Erweiterung zu. Stimmt der Name der Ausgabedatei mit dem der Eingabedatei überein, wird eine Fehlermeldung ausgegeben, um ein Überschreiben der Typbibliothek zu verhindern.

/primary

Erstellt für die angegebene Typbibliothek eine primäre Interop-Assembly. Der Assembly wird der Hinweis hinzugefügt, dass der Herausgeber der Typbibliothek die Assembly erstellt hat. Durch die Angabe einer primären Interop-Assembly wird eine Herausgeberassembly von jeder anderen, aus der Typbibliothek mit Tlbimp.exe erstellten Assembly unterschieden. Sie sollten die /primary-Option nur dann verwenden, wenn Sie der Herausgeber der mit Tlbimp.exe zu importierenden Typbibliothek sind. Beachten Sie, dass eine primäre Interop-Assembly mit einem starken Namen signiert werden muss. Weitere Informationen finden Sie unter Primäre Interop-Assemblys.

/publickey:filename

Gibt die Datei an, die den öffentlichen Schlüssel zum Signieren der resultierenden Assembly enthält. Wenn Sie die /keyfile:-Option oder die /keycontainer:-Option anstelle der /publickey:-Option angeben, generiert Tlbimp.exe den öffentlichen Schlüssel aus dem über /keyfile: bzw. /keycontainer: bereitgestellten öffentlichen/privaten Schlüsselpaar. Die /publickey:-Option unterstützt Testschlüssel und Szenarien für verzögertes Signieren. Die Datei hat das von Sn.exe generierte Format. Weitere Informationen finden Sie unter der -p-Option von Sn.exe unter Strong Name-Tool (Sn.exe).

/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. Wenn Sie die /reference -Option nicht angeben, importiert Tlbimp.exe automatisch jede externe Typbibliothek, auf die durch die zu importierende Typbibliothek verwiesen wird. Wenn Sie die /reference -Option angeben, versucht das Tool zunächst, die externen Typen in den verwiesenen Assemblys aufzulösen, bevor es andere Typbibliotheken importiert.

/silent

Unterdrückt die Anzeige von Erfolgsmeldungen.

/strictref

Eine Typbibliothek wird nicht importiert, wenn das Tool nicht alle Verweise in der aktuellen Assembly, in der mit der /reference-Option angegebenen Assembly, oder in den registrierten primären Interop-Assemblys auflösen kann.

/strictref:nopia

Wie in /strictref, aber ignoriert primäre Interop-Assemblys.

/sysarray

Gibt die Anweisung an das Tool, ein SafeArray im COM-Stil als verwalteten Typ einer System.Array-Klasse zu importieren.

/tlbreference:filename

Gibt die zum Auflösen der Verweise auf Typbibliotheken zu verwendende Typbibliotheksdatei an, ohne Einträge aus der Registrierung abzurufen.

Beachten Sie, dass bei dieser Option einige ältere Typbibliotheksformate nicht geladen werden. Sie können jedoch ältere Typbibliotheksformate implizit über die Registrierung oder das aktuelle Verzeichnis laden.

/transform:transformName

Konvertiert Metadaten entsprechend dem transformName-Parameter.

Geben Sie dispret für transformName an, um [out, retval]-Parameter der Methoden für auf Dispatch beschränkte Schnittstellen (Dispatchschnittstellen) in Rückgabewerte zu konvertieren.

Weitere Informationen über diese Option finden Sie in den Beispielen weiter unten in diesem Thema.

/unsafe

Erstellt Schnittstellen ohne .NET Framework-Sicherheitsüberprüfungen. Eine auf diese Weise verfügbar gemachte Methode aufzurufen, kann ein Sicherheitsrisiko darstellen. Sie sollten diese Option nicht verwenden, wenn Sie die Risiken nicht abschätzen können, die das Verfügbarmachen von derartigem Code beinhaltet.

/verbose

Gibt den ausführlichen Modus an und zeigt zusätzliche Informationen über die importierte Typbibliothek an.

/?

Zeigt die Befehlssyntax und Optionen für das Tool an.

Tipp

Bei den Befehlszeilenoptionen für Tlbimp.exe wird die Groß- und Kleinschreibung nicht beachtet, und die Optionen können in beliebiger Reihenfolge angegeben werden. Geben Sie einfach die gewünschte Option oder das entsprechende Kürzel an, um diese eindeutig zu kennzeichnen. Damit entspricht /n z. B. /nologo, und /ou:outfile.dll entspricht /out:outfile.dll.

Hinweise

Tlbimp.exe führt Konvertierungen an einer ganzen Typbibliothek auf einmal durch. Typinformationen zu einer Teilmenge der in einer einzelnen Typbibliothek definierten Typen können Sie mithilfe dieses Tools nicht generieren.

Es ist oft hilfreich oder notwendig, Assemblys starke Namen zuweisen zu können. Daher beinhaltet Tlbimp.exe Optionen, um die zur Generierung von Assemblys mit starken Namen notwendigen Informationen zur Verfügung zu stellen. Sowohl die /keyfile:-Option als auch die /keycontainer:-Option signieren Assemblys mit starken Namen. Darum ist es sinnvoll, jeweils nur eine dieser Optionen gleichzeitig zur Verfügung zu stellen.

Beim Importieren einer Typbibliothek aus einem Modul mit mehreren Typbibliotheken kann optional eine Ressourcen-ID an eine Typbibliothekdatei angehängt werden. Tlbimp.exe kann diese Datei finden, wenn sie sich im aktuellen Verzeichnis befindet oder der vollständige Pfad angegeben wird. Siehe das Beispiel weiter unten in diesem Thema.

Beispiele

Durch folgenden Befehl wird eine Assembly generiert, die den von der Typbibliothek in myTest.tlb gefundenen Namen und eine DLL-Erweiterung aufweist.

tlbimp myTest.tlb 

Der folgende Befehl generiert eine Assembly mit dem Namen myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll

Durch folgenden Befehl wird eine Assembly generiert, die den von der Typbibliothek in MyModule.dll\1 gefundenen Namen und eine DLL-Erweiterung aufweist. MyModule.dll\1 muss sich im aktuellen Verzeichnis befinden.

tlbimp MyModule.dll\1

Durch folgenden Befehl wird eine Assembly mit dem Namen myTestLib.dll für die Typbibliothek TestLib.dll generiert. Die Option /transform:dispret konvertiert beliebige [out, retval]-Parameter von Methoden für Dispatchschnittstellen in der Typbibliothek in Rückgabewerte in der verwalteten Bibliothek.

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

Die Typbibliothek TestLib.dll im oben stehenden Beispiel verfügt über eine Dispatchschnittstellen-Methode mit dem Namen SomeMethod, die void zurückgibt und einen [out, retval]-Parameter aufweist. Der folgende Code stellt die Signatur der Typbibliotheksmethode für SomeMethod in TestLib.dll dar.

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

Durch Angabe der Option /transform:dispret wird Tlbimp.exe veranlasst, die [out, retval]-Parameter von SomeMethod in einen bool-Rückgabewert zu konvertieren. 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.

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.

void SomeMethod(out bool x);

Siehe auch

Konzepte

Importieren einer Typbibliothek als Assembly

Assemblys mit starkem Namen

Attribute zum Importieren von Typbibliotheken in Interop-Assemblys

Referenz

.NET Framework-Tools

Type Library Exporter-Tool (Tlbexp.exe)

MSIL Disassembler-Tool (Ildasm.exe)

Strong Name-Tool (Sn.exe)

SDK-Eingabeaufforderung

Weitere Ressourcen

Zusammenfassung: Konvertieren einer Typbibliothek in eine Assembly