Freigeben über


Gewusst wie: Manuelles Erstellen primärer Interop-Assemblys

Aktualisiert: November 2007

Bei einem weniger häufig verwendeten Verfahren für das Erstellen einer Typbibliothek wird die primäre Interop-Assembly manuell im Quellcode erstellt, wobei eine mit der Common Language Specification (CLS) kompatible Sprache wie C# verwendet wird. Dieser Ansatz ist sinnvoll, wenn keine Typbibliothek verfügbar ist.

So generieren Sie eine primäre Interop-Assembly im Quellcode

  1. Erstellen Sie eine Interop-Assembly im Quellcode. Entsprechende Anweisungen finden Sie unter Manuelles Erstellen eines Wrappers. Beachten Sie, dass Sie alle COM-Typen aus der ursprünglichen Typbibliothek einfügen müssen, wenn Sie eine primäre Interop-Assembly manuell erstellen.

  2. Wenden Sie auf Assemblyebene die folgenden Attribute an:

    1. AssemblyKeyFileAttribute oder AssemblyKeyNameAttribute, um den Namen der Datei oder des Containers mit dem Schlüsselpaar anzugeben, das beim Signieren der Assembly mit einem starken Namen verwendet werden soll.

    2. GuidAttribute, um den Bibliotheksbezeichner (LIBID) der Zieltypbibliothek anzugeben.

    3. PrimaryInteropAssemblyAttribute, um die Assembly als eine primäre Interopassembly zu kennzeichnen.

      Hinweis:

      Sie können auch während des Kompiliervorgangs eine Assembly verzögert signieren. Weitere Informationen hierzu finden Sie unter Verzögertes Signieren einer Assembly.

    Im folgenden Codebeispiel wird die Schlüsseldatei CompanyA.snk auf AssemblyKeyFileAttribute angewendet und angegeben, dass diese Assembly eine primäre Interop-Assembly ist, die die Typbibliotheksversionen 4.2 und 5.2 unterstützt. Das Beispiel veranschaulicht, dass Sie mehrere Versionen einer Typbibliothek einbinden können, indem Sie zusätzliche Attribute auf Assemblyebene anwenden.

    [assembly:AssemblyKeyFile(@"..\..\CompanyA.snk")]
    [assembly:Guid("97d25db0-0363-1cf-abc4-02608 c9e7553"]
    [assembly:PrimaryInteropAssembly(4, 2)]
    [assembly:PrimaryInteropAssembly(5, 2)]
    

Siehe auch

Aufgaben

Gewusst wie: Generieren primärer Interop-Assemblys mit "Tlbimp.exe"

Gewusst wie: Einschließen mehrerer Versionen von Typbibliotheken

Konzepte

Generieren primärer Interop-Assemblys

Erstellen primärer Interop-Assemblys