Freigeben über


Verfügbarmachen von .NET-Komponenten für COM

Das Schreiben eines .NET-Typs und die Verwendung dieses Typs aus nicht verwaltetem Code sind unterschiedliche Aktivitäten für Entwickler. In diesem Abschnitt werden mehrere Tipps zum Schreiben von verwaltetem Code beschrieben, der mit COM-Clients interagiert:

  • Qualifizieren von .NET-Typen für die Interoperabilität.

    Alle verwalteten Typen, Methoden, Eigenschaften, Felder und Ereignisse, die Sie für COM verfügbar machen möchten, müssen öffentlich sein. Typen müssen über einen öffentlichen parameterlosen Konstruktor verfügen, bei dem es sich um den einzigen Konstruktor handelt, der über COM aufgerufen werden kann.

  • Anwenden von Interopattributen.

    Benutzerdefinierte Attribute innerhalb von verwaltetem Code können die Interoperabilität einer Komponente verbessern.

  • Verpacken einer Assembly für COM

    COM-Entwickler erfordern möglicherweise, dass Sie die Schritte zusammenfassen, die für das Verweisen und Bereitstellen Ihrer Assemblys erforderlich sind.

Darüber hinaus werden in diesem Abschnitt die Aufgaben im Zusammenhang mit der Nutzung eines verwalteten Typs von einem COM-Client beschrieben.

Nutzen eines verwalteten Typs von COM

  1. Registrieren von Assemblys mit COM.

    Typen in einer Assembly (und Typbibliotheken) müssen zur Entwurfszeit registriert werden. Wenn ein Installationsprogramm die Assembly nicht registriert, weisen Sie COM-Entwickler an, Regasm.exezu verwenden.

  2. Verweisen Sie auf .NET-Typen von COM.

    COM-Entwickler können auf Typen in einer Assembly mit den gleichen Tools und Techniken verweisen, die sie heute verwenden.

  3. Rufen Sie ein .NET-Objekt auf.

    COM-Entwickler können Methoden für das .NET-Objekt auf die gleiche Weise aufrufen wie Methoden für jeden nicht verwalteten Typ. Beispielsweise aktiviert die COM CoCreateInstance-API .NET-Objekte.

  4. Stellen Sie eine Anwendung für den COM-Zugriff bereit.

    Eine Assembly mit starkem Namen kann im globalen Assemblycache installiert werden und erfordert eine Signatur des Herausgebers. Assemblys, die keinen starken Namen haben, müssen im Anwendungsverzeichnis des Clients installiert werden.

Siehe auch