Freigeben über


Packen einer .NET Framework-Assembly für COM

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

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

    Einige verwaltete Typen sind für COM nicht sichtbar; einige sind sichtbar, aber nicht erstellbar; und einige sind sowohl sichtbar als auch erstellbar. Eine Assembly kann eine beliebige Kombination aus unsichtbaren, sichtbaren, nicht-erzeugbaren und erzeugbaren Typen umfassen. Um Vollständigkeit zu gewährleisten, identifizieren Sie die Typen in einer Assembly, die Sie für COM zugänglich machen möchten, insbesondere wenn diese Typen eine Teilmenge der Typen sind, die für das .NET Framework freigegeben werden.

    Weitere Informationen finden Sie unter Qualifizieren von .NET-Typen für die Interoperabilität.

  • Versionsverwaltungsanweisungen

    Verwaltete Klassen, die die Klassenschnittstelle implementieren (eine com-interop-generierte Schnittstelle), unterliegen Versionsverwaltungseinschränkungen.

    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 auf dem Computer des Benutzers als private Assemblys installiert werden.

    Weitere Informationen finden Sie unter Überlegungen zur Assemblysicherheit.

  • Einbindung der Typbibliothek

    Für die meisten Typen ist eine Typbibliothek erforderlich, wenn sie von einer COM-Anwendung genutzt wird. Sie können eine Typbibliothek generieren oder COM-Entwickler diese Aufgabe ausführen lassen. Das Windows SDK bietet die folgenden Optionen zum Generieren einer Typbibliothek:

    Unabhängig vom gewählten Mechanismus sind nur öffentliche Typen, die in der von Ihnen angegebenen Assembly definiert sind, in der generierten Typbibliothek enthalten.

Anweisungen dazu finden Sie unter So betten Sie Typbibliotheken als Win32-Ressourcen in .NET-Based-Anwendungen ein.

Type Library Exporter-Tool

Der Typbibliotheksexporteur (Tlbexp.exe) ist ein Befehlszeilentool, das die Klassen und Schnittstellen in einer Assembly 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, genauso wie ein COM-Objekt. Tlbexp.exe konvertiert gleichzeitig eine gesamte Assembly. Sie können mit Tlbexp.exekeine Typinformationen für einen Teil der in der Assembly definierten Typen generieren.

TypeLibConverter-Klasse

Die TypeLibConverter Klasse, die sich im System.Runtime.Interop-Namespace befindet, konvertiert die Klassen und Schnittstellen, die in einer Assembly enthalten sind, in eine COM-Typbibliothek. Diese API erzeugt die gleichen Typinformationen wie der Typbibliotheksexporteur, der im vorherigen Abschnitt beschrieben wird.

Die TypeLibConverter-Klasse implementiert die ITypeLibConverter.

Assembly Registration-Tool

Das Assemblyregistrierungstool (Regasm.exe) kann eine Typbibliothek generieren und registrieren, wenn Sie die Option /tlb: anwenden. 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. Das Registrieren der Typen in einer Assembly und das Registrieren der Typbibliothek sind unterschiedliche Aktivitäten.

.NET Services-Installationstool

Das .NET Services-Installationstool (Regsvcs.exe) fügt verwaltete Klassen zu Windows 2000-Komponentendiensten hinzu und kombiniert mehrere Aufgaben in einem einzigen Tool. Zusätzlich zum Laden und Registrieren einer Assembly kann Regsvcs.exe die Typbibliothek in einer vorhandenen COM+1.0-Anwendung generieren, registrieren und installieren.

Siehe auch