Exposing COM Components to the .NET Framework

This section summarizes the process needed to expose an existing COM component to managed code. For details about writing COM servers that tightly integrate with the .NET Framework, see Design Considerations for Interoperation.

Existing COM components are valuable resources in managed code as middle-tier business applications or as isolated functionality. An ideal component has a primary interop assembly and conforms tightly to the programming standards imposed by COM.

To expose COM components to the .NET Framework

  1. Import a type library as an assembly.

    The common language runtime requires metadata for all types, including COM types. There are several ways to obtain an assembly containing COM types imported as metadata.

  2. Create COM types in managed Code.

    You can inspect COM types, activate instances, and invoke methods on the COM object the same way you do for any managed type.

  3. Compile an interop project.

    The .NET Framework SDK provides compilers for several languages compliant with the Common Language Specification (CLS), including Visual Basic .NET, C#, and the Managed Extensions for C++.

  4. Deploy an interop application.

    Interop applications are best deployed as strong-named, signed assemblies in the global assembly cache.

See Also

Interoperating with Unmanaged Code | Design Considerations for Interoperation | COM Interop Sample: .NET Client and COM Server | What is the Common Language Specification? | Global Assembly Cache