Packen einer .NET Framework-Assembly für COM

COM-Entwickler profitieren von den folgenden Informationen zu den verwalteten Typen, die sie in ihre Anwendung integrieren möchten:

  • Eine Liste von Typen, die COM-Anwendungen nutzen können

    Einige verwalteten Typen sind nicht für COM sichtbar; einige sind sichtbar, aber nicht erstellbar, und andere sind sichtbar und erstellbar. Eine Assembly kann eine beliebige Kombination von nicht sichtbaren, sichtbaren, nicht erstellbaren und erstellbaren Typen umfassen. Aus Gründen der Vollständigkeit identifizieren Sie die Typen in einer Assembly, die für COM verfügbar gemacht werden sollen, insbesondere, wenn diese Typen eine Teilmenge der Typen sind, die für .NET Framework verfügbar gemacht werden sollen.

    Weitere Informationen finden Sie unter Qualifizieren von .NET-Typen für die Interoperation.

  • Anweisungen der Versionsverwaltung

    Verwaltete Klassen, die die Klassenschnittstelle (eine von COM-Interop generierte Schnittstelle) implementieren, unterliegen Einschränkungen der Versionsverwaltung.

    Richtlinien zur Verwendung der Klassenschnittstelle finden Sie unter Einführung in die Klassenschnittstelle.

  • Anweisungen zur Bereitstellung

    Assemblys mit starken Namen, die von einem Herausgeber signiert wurden, können im globalen Assemblycache installiert werden. Nicht signierte Assemblys müssen als private Assemblys auf dem Computer des Benutzers installiert werden.

    Weitere Informationen finden Sie unter Überlegungen zur Assemblysicherheit.

  • Einbindung der Typbibliothek

    Die meisten Typen erfordern eine Typbibliothek, wenn sie von einer COM-Anwendung genutzt werden. Sie können eine Typbibliothek generieren oder COM-Entwickler mit der Ausführung dieser Aufgabe betreuen. Das Windows SDK bietet die folgenden Optionen zum Generieren einer Typbibliothek:

    Unabhängig vom Mechanismus, den Sie auswählen, sind nur öffentliche Typen in der von Ihnen bereitgestellten Assembly in der generierten Typbibliothek enthalten.

Anweisungen hierzu finden Sie unter Vorgehensweise: Einbetten von Typbibliotheken als Win32-Ressourcen in .NET-Anwendungen.

Type Library Exporter-Tool

Type Library Exporter (Tlbexp.exe) ist ein Befehlszeilentool, das die in einer Assembly enthaltenen Klassen und Schnittstellen in eine COM-Typbibliothek konvertiert. Sobald die Typinformationen der Klasse verfügbar sind, können COM-Clients eine Instanz der .NET-Klasse erstellen und die Methoden der Instanz aufrufen, als ob es sich um ein COM-Objekt handeln würde. Tlbexp.exe konvertiert eine ganze Assembly gleichzeitig. Sie können mit Tlbexp.exekeine Typinformationen für einen Teil der in der Assembly definierten Typen generieren.

TypeLibConverter-Klasse

Die TypeLibConverter-Klasse im System.Runtime.Interop-Namespace konvertiert die Klassen und Schnittstellen, die in einer Assembly enthalten sind, in eine COM-Typbibliothek. Diese API erzeugt dieselben Typinformationen wie das Type Library Exporter-Tool, das im vorherigen Abschnitt beschrieben ist.

Die TypeLibConverter-Klasse implementiert die ITypeLibConverter.

Assembly Registration-Tool

Das Assembly Registration-Tool (Regasm.exe) kann eine Typbibliothek beim Anwenden der /tlb: -Option generieren und registrieren. COM-Clients erfordern, dass Typbibliotheken in der Windows-Registrierung installiert werden. Ohne diese Option registriert Regasm.exe nur die Typen in einer Assembly, nicht die Typbibliothek. Die Registrierung der Typen in einer Assembly, und die Registrierung der Typbibliothek sind verschiedene Aktivitäten.

.NET Services Installation-Tool

Das .NET Services Installation-Tool (Regsvcs.exe) fügt verwaltete Klassen zu Windows 2000-Komponentendiensten hinzu, kombiniert mehrere Aufgaben innerhalb eines einzigen Tools. Zusätzlich zum Laden und Registrieren der Assembly, generiert, registriert und installiert Regsvcs.exe die Typbibliothek in eine vorhandene COM+ 1.0-Anwendung.

Siehe auch