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
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.
Wenden Sie auf Assemblyebene die folgenden Attribute an:
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.
GuidAttribute, um den Bibliotheksbezeichner (LIBID) der Zieltypbibliothek anzugeben.
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