Freigeben über


Einführung in COM-Interoperabilität (Visual Basic)

Mit dem Component Object Model (COM) kann ein Objekt seine Funktionalität anderen Komponenten und Hostanwendungen zur Verfügung stellen. Während COM-Objekte seit vielen Jahren für die Windows-Programmierung grundlegend sind, bieten Anwendungen, die für die Common Language Runtime (CLR) entwickelt wurden, viele Vorteile.

.NET Framework-Anwendungen werden letztendlich diejenigen ersetzen, die mit COM entwickelt wurden. Bis dahin müssen Sie COM-Objekte möglicherweise mit Visual Studio verwenden oder erstellen. Mit der Interoperabilität mit COM oder COM-Interoperabilität können Sie vorhandene COM-Objekte verwenden, während Sie in Ihrem eigenen Tempo zu .NET Framework wechseln.

Mithilfe von .NET Framework zum Erstellen von COM-Komponenten können Sie die registrierungsfreie COM-Interoperabilität verwenden. Auf diese Weise können Sie steuern, welche DLL-Version aktiviert ist, wenn mehr als eine Version auf einem Computer installiert ist, und Endbenutzern die Verwendung von XCOPY oder FTP ermöglichen, ihre Anwendung in ein entsprechendes Verzeichnis auf ihrem Computer zu kopieren, auf dem sie ausgeführt werden kann. Weitere Informationen finden Sie unter Registration-Free COM-Interoperabilität.

Verwalteter Code und Daten

Code, der für .NET Framework entwickelt wurde, wird als verwalteter Code bezeichnet und enthält Metadaten, die von der CLR verwendet werden. Daten, die von .NET Framework-Anwendungen verwendet werden, werden als verwaltete Daten bezeichnet, da die Laufzeit datenbezogene Aufgaben verwaltet, z. B. das Zuweisen und Freigeben von Arbeitsspeicher und ausführen der Typüberprüfung. Standardmäßig verwendet Visual Basic .NET verwalteten Code und Daten, Sie können jedoch mithilfe von Interopassemblys (weiter unten auf dieser Seite beschrieben) auf den nicht verwalteten Code und die Daten von COM-Objekten zugreifen.

Assemblys

Eine Assembly ist der primäre Baustein einer .NET Framework-Anwendung. Es handelt sich um eine Sammlung von Funktionen, die erstellt, versionsiert und als einzelne Implementierungseinheit bereitgestellt werden, die eine oder mehrere Dateien enthält. Jede Assembly enthält ein Assembly-Manifest.

Typbibliotheken und Assemblymanifeste

Typbibliotheken beschreiben Merkmale von COM-Objekten, z. B. Membernamen und Datentypen. Assemblymanifeste führen dieselbe Funktion für .NET Framework-Anwendungen aus. Sie enthalten Informationen zu folgenden Themen:

  • Assembly-Identität, Version, Kultur und digitale Signatur.

  • Dateien, aus denen die Assemblyimplementierung besteht.

  • Typen und Ressourcen, aus denen die Assembly besteht. Dies schließt diejenigen ein, die daraus exportiert werden.

  • Kompilierungszeitabhängigkeiten von anderen Assemblys.

  • Berechtigungen, die für die ordnungsgemäße Ausführung der Assembly erforderlich sind.

Weitere Informationen zu Assemblys und Assemblymanifesten finden Sie unter Assemblys in .NET.

Importieren und Exportieren von Typbibliotheken

Visual Studio enthält ein Hilfsprogramm, Tlbimp, mit dem Sie Informationen aus einer Typbibliothek in eine .NET Framework-Anwendung importieren können. Sie können Typbibliotheken aus Assemblys mithilfe des Tlbexp-Hilfsprogramms generieren.

Informationen zu Tlbimp und Tlbexp finden Sie unterTlbimp.exe (Type Library Importer) und Tlbexp.exe (Type Library Exporter).

Interopassemblys

Interop-Assemblys sind .NET Framework-Assemblys, die eine Brücke zwischen verwaltetem und nicht verwaltetem Code bilden und COM-Objektmitglieder entsprechenden verwalteten .NET Framework-Mitgliedern zuordnen. Interopassemblys, die von Visual Basic .NET erstellt wurden, übernehmen viele Details der Arbeit mit COM-Objekten, z. B. das Interoperabilitätsmarshalling.

Interoperabilitätsmarshalling

Alle .NET Framework-Anwendungen verwenden eine Reihe allgemeiner Typen, die die Interoperabilität von Objekten ermöglichen, unabhängig von der verwendeten Programmiersprache. Die Parameter und Rückgabewerte von COM-Objekten verwenden manchmal Datentypen, die sich von denen unterscheiden, die in verwaltetem Code verwendet werden. Interoperabilitäts-Marshalling ist der Prozess der Verpackung von Parametern und Rückgabewerte in gleichwertige Datentypen, während sie zu und von COM-Objekten wechseln. Weitere Informationen finden Sie unter Interop Marshaling.

Siehe auch