Einführung in COM-Interop (Visual Basic)Introduction to COM Interop (Visual Basic)

Das Component Object Model (COM) können ein Objekt, das die Funktionen an andere Komponenten und hostanwendungen verfügbar zu machen.The Component Object Model (COM) lets an object expose its functionality to other components and to host applications. COM-Objekte für die Windows-Programmierung seit vielen Jahren von grundlegender Wichtigkeit waren bieten für die common Language Runtime (CLR) entwickelte Anwendungen zahlreiche Vorteile.While COM objects have been fundamental to Windows programming for many years, applications designed for the common language runtime (CLR) offer many advantages.

.NET Framework-Anwendungen ersetzt schließlich entwickelte mit COM..NET Framework applications will eventually replace those developed with COM. Bis dahin müssen Sie möglicherweise verwenden oder COM-Objekte mithilfe von Visual Studio erstellen.Until then, you may have to use or create COM objects by using Visual Studio. COM-Interoperabilität oder COM-Interop, können Sie vorhandenen COM-Objekte verwenden, bei der Umsetzung in .NET Framework in Ihrem eigenen Tempo.Interoperability with COM, or COM interop, enables you to use existing COM objects while transitioning to the .NET Framework at your own pace.

Mithilfe von .NET Framework zum Erstellen von COM-Komponenten können Sie die COM-Interop ohne Registrierung verwenden.By using the .NET Framework to create COM components, you can use registration-free COM interop. Dies können Sie steuern, welche DLL-Version aktiviert ist, wenn mehr als eine Version, die auf einem Computer installiert ist, und Endbenutzer, verwenden Sie XCOPY oder FTP, kopieren Sie die Anwendung in ein geeignetes Verzeichnis auf ihrem Computer, in dem sie ausgeführt werden kann.This lets you control which DLL version is enabled when more than one version is installed on a computer, and lets end users use XCOPY or FTP to copy your application to an appropriate directory on their computer where it can be run. Weitere Informationen finden Sie unter -COM-Interop ohne Registrierung.For more information, see Registration-Free COM Interop.

Verwalteter Code und DatenManaged Code and Data

Entwickelter Code für .NET Framework als bezeichnet von verwaltetem Code, und enthält Metadaten, die von der CLR verwendet wird.Code developed for the .NET Framework is referred to as managed code, and contains metadata that is used by the CLR. Daten, die von .NET Framework-Anwendungen verwendet wird, heißt verwalteten Daten , da die Laufzeit datenbezogene Aufgaben verwaltet, wie z. B. typüberprüfung, zuordnen und Freigeben von Arbeitsspeicher und ausführen.Data used by .NET Framework applications is called managed data because the runtime manages data-related tasks such as allocating and reclaiming memory and performing type checking. Standardmäßig Visual Basic .NET verwendet wird, verwalteten Code und Daten, aber Sie können den nicht verwalteten Code und Daten von COM-Objekten, die mithilfe von Interop-Assemblys (weiter unten auf dieser Seite beschrieben) zugreifen.By default, Visual Basic .NET uses managed code and data, but you can access the unmanaged code and data of COM objects using interop assemblies (described later on this page).

AssemblysAssemblies

Eine Assembly ist der wichtigste Baustein einer .NET Framework-Anwendung.An assembly is the primary building block of a .NET Framework application. Es ist eine Sammlung von Funktionen, die erstellt, mit Versionsangabe und bereitgestellten als eine einzelne Implementierung-Einheit, die eine oder mehrere Dateien enthält.It is a collection of functionality that is built, versioned, and deployed as a single implementation unit containing one or more files. Jede Assembly enthält ein Assemblymanifest.Each assembly contains an assembly manifest.

Typbibliotheken und ManifestenType Libraries and Assembly Manifests

Typbibliotheken werden die Merkmale von COM-Objekten, z. B. Membernamen und Datentypen beschrieben.Type libraries describe characteristics of COM objects, such as member names and data types. Manifesten führen dieselbe Funktion für .NET Framework-Anwendungen.Assembly manifests perform the same function for .NET Framework applications. Dazu gehören die folgenden Informationen:They include information about the following:

  • Assembly-ID, Version, Kultur und digitale Signatur.Assembly identity, version, culture, and digital signature.

  • Dateien, aus denen die Implementierung der Assembly besteht.Files that make up the assembly implementation.

  • Typen und Ressourcen, die die Assembly bilden.Types and resources that make up the assembly. Dies schließt die daraus exportiert werden.This includes those that are exported from it.

  • Während der Kompilierung Abhängigkeiten von anderen Assemblys.Compile-time dependencies on other assemblies.

  • Berechtigungen für die Assembly für die ordnungsgemäße Ausführung erforderlich.Permissions required for the assembly to run correctly.

Weitere Informationen zu Assemblys und Manifesten finden Sie unter Assemblys in .NET.For more information about assemblies and assembly manifests, see Assemblies in .NET.

Importieren und Exportieren von TypbibliothekenImporting and Exporting Type Libraries

Visual Studio enthält ein Hilfsprogramm, "Tlbimp", mit der Sie die Informationen aus einer Typbibliothek in eine .NET Framework-Anwendung importieren kann.Visual Studio contains a utility, Tlbimp, that lets you import information from a type library into a .NET Framework application. Sie können mithilfe des Hilfsprogramms Tlbexp Typbibliotheken aus Assemblys generieren.You can generate type libraries from assemblies by using the Tlbexp utility.

Weitere Informationen über "Tlbimp" und Tlbexp, finden Sie unter Tlbimp.exe (Type Library Importer-Tool) und Tlbexp.exe (Type Library Exporter-Tool).For information about Tlbimp and Tlbexp, see Tlbimp.exe (Type Library Importer) and Tlbexp.exe (Type Library Exporter).

Interop-AssemblysInterop Assemblies

Interop-Assemblys sind .NET Framework-Assemblys, die Brücke zwischen verwaltetem und nicht verwalteter Code, Zuordnen von Member für COM-Objekts zu entsprechenden .NET Framework verwalteten Mitglieder.Interop assemblies are .NET Framework assemblies that bridge between managed and unmanaged code, mapping COM object members to equivalent .NET Framework managed members. Interop-Assemblys, die von Visual Basic .NET erstellten behandeln viele der Details für die Arbeit mit COM-Objekte, z. B. Interop-Marshalling.Interop assemblies created by Visual Basic .NET handle many of the details of working with COM objects, such as interoperability marshaling.

Interop-MarshallingInteroperability Marshaling

Alle .NET Framework-Anwendungen einen gemeinsamen Satz von häufig verwendeten Typen, die Interoperabilität von Objekten, unabhängig von der Programmiersprache zu ermöglichen, die verwendet wird.All .NET Framework applications share a set of common types that enable interoperability of objects, regardless of the programming language that is used. Die Parameter und Rückgabewerte von COM-Objekten verwenden manchmal Datentypen, die in verwaltetem Code verwendet unterscheiden.The parameters and return values of COM objects sometimes use data types that differ from those used in managed code. Interop-Marshalling versteht man das Zusammenfassen von Parametern und Rückgabewerten in äquivalente Datentypen, wie sie zu und von COM-Objekte verschieben.Interoperability marshaling is the process of packaging parameters and return values into equivalent data types as they move to and from COM objects. Weitere Informationen finden Sie unter Interop-Marshalling.For more information, see Interop Marshaling.

Siehe auchSee also