Предоставление доступа к компонентам .NET для COM

Note

В этой статье описывается руководство по взаимодействию COM .NET Framework, использующее устаревшие средства и модели развертывания, такие как Regasm.exe, глобальный кэш сборок и регистрация COM на основе реестра. Для современных версий .NET используйте генерацию исходного кода COM или API ComWrappers. Дополнительные сведения см. в разделе Взаимодействие с COM.

Написание типа .NET и потребление этого типа из неуправляемого кода — это отдельные задачи для разработчиков. В этом разделе описывается несколько советов по написанию управляемого кода, взаимодействующего с com-клиентами:

  • Квалификация типов .NET для взаимодействия.

    Все управляемые типы, методы, свойства, поля и события, которые требуется предоставить COM, должны быть общедоступными. Типы должны иметь открытый конструктор без параметров, который является единственным конструктором, который можно вызвать через COM.

  • Применение атрибутов взаимодействия.

    Пользовательские атрибуты в управляемом коде могут повысить совместимость компонента.

  • Упаковка сборки для COM.

    Разработчики COM могут потребовать, чтобы вы предоставили обобщённое описание шагов, связанных с ссылкой и развертыванием ваших сборок.

Кроме того, этот раздел определяет задачи, связанные с потреблением управляемого типа из COM-клиента.

Использование управляемого типа из COM

  1. Регистрация сборок с помощью COM.

    Для платформы .NET типы в сборке (и библиотеки типов) должны быть зарегистрированы во время разработки. Если установщик не регистрирует сборку, укажите разработчикам COM использовать Regasm.exe.

  2. Ссылки на типы .NET из COM.

    Разработчики COM могут ссылаться на типы в сборке, используя те же средства и методы, которые они используют сегодня.

  3. Вызовите объект .NET.

    Разработчики COM могут вызывать методы для объекта .NET так же, как и методы для любого неуправляемого типа. Например, COM-API CoCreateInstance активирует объекты .NET.

  4. Развертывание приложения для com-доступа.

    В .NET Framework сборка со строгим именем может быть установлена в глобальном кэше сборок и должна быть подписана издателем. Сборки, не имеющие строгого имени, должны быть установлены в каталоге приложений клиента.

См. также