Gewusst wie: Generieren primärer Interop-Assemblys mit "Tlbimp.exe"
Aktualisiert: November 2007
Der Type Library Importer-Tool (Tlbimp.exe) ist der direkteste Ansatz zum Erstellen primärer Interop-Assemblys.
So generieren Sie eine primäre Interop-Assembly mithilfe von "Tlbimp.exe"
Geben Sie an der Eingabeaufforderung Folgendes ein:
tlbimptlbdatei **/primary /keyfile:dateiname/out:**assemblyname
Bei diesem Befehl ist tlbdatei die Datei mit der COM-Typbibliothek, dateiname der Name des Containers oder der Datei mit dem Schlüsselpaar und assemblyname der Name der Assembly, die mit einem starken Namen signiert wird.
Primäre Interop-Assemblys können nur auf andere primäre Interop-Assemblys verweisen. Wenn die Assembly auf Typen aus einer COM-Typbibliothek von Drittanbietern verweist, müssen Sie vom Herausgeber eine primäre Interop-Assembly erwerben, bevor Sie eine eigene primäre Interop-Assembly generieren können. Wenn Sie selbst der Herausgeber sind, müssen Sie eine primäre Interop-Assembly für die abhängige Typbibliothek erstellen, bevor Sie die verweisende primäre Interop-Assembly generieren können.
Eine abhängige primäre Interop-Assembly mit einer anderen Versionsnummer als die ursprüngliche Typbibliothek kann nicht ermittelt werden, wenn sie im aktuellen Verzeichnis installiert wird. Sie müssen die abhängige primäre Interop-Assembly entweder in der Windows-Registrierung registrieren oder mithilfe der Option /reference sicherstellen, dass Tlbimp.exe die abhängige DLL findet.
Sie können auch mehrere Versionen einer Typbibliothek einbinden. Anweisungen hierzu finden Sie unter Gewusst wie: Einschließen mehrerer Versionen von Typbibliotheken.
Beispiel
Im folgenden Beispiel wird die COM-Typbibliothek LibUtil.tlb importiert und die Assembly LibUtil.dll mithilfe der Schlüsseldatei CompanyA.snk mit einem starken Namen signiert. Da kein Namespacename angegeben wird, wird in diesem Beispiel der Standardnamespace LibUtil erstellt.
tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /out:LibUtil.dll
Zum Zuweisen eines aussagekräftigen Namens (mit der Benennungsrichtlinie Herstellername.Bibliotheksname) werden im folgenden Beispiel der Dateiname der Standardassembly und der Namespacename überschrieben.
tlbimp LibUtil.tlb /primary /keyfile:CompanyA.snk /namespace:CompanyA.LibUtil /out:CompanyA.LibUtil.dll
Im folgenden Beispiel wird MyLib.tlb importiert, die auf CompanyA.LibUtil.dll verweist, und die Assembly CompanyB.MyLib.dll wird mithilfe der Schlüsseldatei CompanyB.snk mit einem starken Namen signiert. Der Namespace, CompanyB.MyLib, überschreibt den Standardnamespacenamen.
tlbimp MyLib.tlb /primary /keyfile:CompanyB.snk /namespace:CompanyB.MyLib /reference:CompanyA.LibUtil.dll /out:CompanyB.MyLib.dll
Siehe auch
Aufgaben
Gewusst wie: Einschließen mehrerer Versionen von Typbibliotheken
Gewusst wie: Manuelles Erstellen primärer Interop-Assemblys