Введение в COM-взаимодействие (Visual Basic)

Объектная модель компонента (COM) позволяет объекту предоставлять функциональность другим компонентам и размещать приложения. В то время как com-объекты были фундаментальными для программирования Windows на протяжении многих лет, приложения, предназначенные для среды CLR, предлагают множество преимуществ.

Взаимодействие с COM или COM-взаимодействием позволяет использовать существующие COM-объекты из приложений .NET.

Используя .NET для создания COM-компонентов, можно применять взаимодействие COM без регистрации. Это позволяет контролировать, какая версия DLL включена, если на компьютере установлено несколько версий, и позволяет конечным пользователям использовать XCOPY или FTP для копирования приложения в соответствующий каталог на своем компьютере, где он может быть запущен. Дополнительные сведения см. в разделе Registration-Free COM Interop.

Управляемый код и данные

Код, разработанный для .NET, называется управляемым кодом и содержит метаданные, используемые средой CLR. Данные, используемые приложениями .NET, называются управляемыми данными, так как среда выполнения управляет задачами, связанными с данными, такими как выделение и восстановление памяти и выполнение проверки типов. По умолчанию Visual Basic использует управляемый код и данные, но вы можете получить доступ к неуправляемом коду и данным объектов COM с помощью сборок взаимодействия (описано далее на этой странице).

Сборки

Сборка — это основной структурный элемент приложения .NET. Это коллекция функциональности, которая создается, версионируется и развертывается как единое внедрение, содержащее один или несколько файлов. Каждая сборка содержит манифест сборки.

Библиотеки типов и манифесты сборок

Библиотеки типов описывают характеристики COM-объектов, таких как имена элементов и типы данных. Манифесты сборки выполняют ту же функцию для .NET приложений. Они включают в себя сведения о следующих параметрах:

  • Идентификатор сборки, версия, культура и цифровая подпись.
  • Файлы, составляющие реализацию сборки.
  • Типы и ресурсы, составляющие сборку. Сюда входят те, которые экспортируются из него.
  • Зависимости времени компиляции от других сборок.
  • Разрешения, необходимые для правильного выполнения сборки.

Дополнительные сведения о сборках и манифестах сборок см. в разделе "Сборки" в .NET.

Импорт и экспорт библиотек типов

Visual Studio содержит программу Tlbimp, которая позволяет импортировать сведения из библиотеки типов в приложение .NET. Библиотеки типов можно создавать из сборок с помощью служебной программы Tlbexp.

Сведения о Tlbimp и Tlbexp см. в статьях Tlbimp.exe (импорт библиотек типов) и Tlbexp.exe (экспортер библиотек типов).

Интероп-сборки

Сборки взаимодействия — это сборки .NET, которые служат мостом между управляемым и неуправляемым кодом, сопоставляя члены COM-объекта с соответствующими управляемыми членами .NET. Сборки взаимодействия, созданные Visual Basic .NET, обрабатывают многие детали работы с COM-объектами, такие как интероперабельный маршаллинг.

Маршаллирование совместимости

Все приложения .NET совместно используют набор распространенных типов, которые обеспечивают взаимодействие объектов независимо от используемого языка программирования. Параметры и возвращаемые значения COM-объектов иногда используют типы данных, которые отличаются от тех, которые используются в управляемом коде. Маршаллинг совместимости — это процесс упаковки параметров и возвращаемых значений в эквивалентные типы данных при передаче в объекты COM и обратно. Дополнительные сведения см. в разделе "Маршалинг взаимодействия".

См. также