Exponera .NET komponenter för COM

Note

Den här artikeln beskriver .NET Framework COM-interop-vägledning som använder äldre verktyg och distributionsmodeller, till exempel Regasm.exe, global sammansättningscache och registerbaserad COM-registrering. För moderna .NET använder du COM-källgenereringen eller API:etComWrappers. Mer information finns i COM-interop.

Att skriva en .NET-typ och använda den typen från ohanterad kod är distinkta aktiviteter för utvecklare. Det här avsnittet beskriver flera tips för att skriva hanterad kod som interopererar med COM-klienter.

  • Kvalificerade .NET-typer för interoperation.

    Alla hanterade typer, metoder, egenskaper, fält och händelser som du vill exponera för COM måste vara offentliga. Typer måste ha en offentlig parameterlös konstruktor, som är den enda konstruktorn som kan anropas via COM.

  • Tillämpa interop-attribut.

    Anpassade attribut i hanterad kod kan förbättra samverkan mellan en komponent.

  • Paketering av en assembly för COM.

    COM-utvecklare kan kräva att du sammanfattar stegen för att referera till och distribuera dina sammansättningar.

Dessutom identifierar det här avsnittet de uppgifter som rör användning av en hanterad typ från en COM-klient.

Så här använder du en hanterad typ från COM

  1. Registrera sammansättningar med COM.

    För .NET Framework måste typer i en sammansättning (och typbibliotek) registreras vid designtillfället. Om installationsprogrammet inte registrerar sammansättningen instruerar du COM-utvecklare att använda Regasm.exe.

  2. Referera .NET-typer från COM.

    COM-utvecklare kan referera till typer i en sammansättning med samma verktyg och tekniker som de använder idag.

  3. Anropa ett .NET-objekt.

    COM-utvecklare kan anropa metoder på .NET-objektet på samma sätt som de anropar metoder på alla ohanterade typer. COM-API CoCreateInstance :et aktiverar till exempel .NET-objekt.

  4. Distribuera ett program för COM-åtkomst.

    För .NET Framework kan en stark namngiven sammansättning installeras i den globala sammansättningscachen och kräver en signatur från utgivaren. Samlingar som inte har starka namn måste installeras i klientens programkatalog.

Se även