Поделиться через


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

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

Приложения .NET Framework в конечном итоге заменят разработанные на COM. До тех пор вам может потребоваться использовать или создавать COM-объекты с помощью Visual Studio. Взаимодействие с COM или COM-взаимодействием позволяет использовать существующие COM-объекты при переходе на платформу .NET Framework в собственном темпе.

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

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

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

Сборки

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

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

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

  • Идентификатор сборки, версия, культура и цифровая подпись.

  • Файлы, составляющие реализацию сборки.

  • Типы и ресурсы, составляющие сборку. Сюда входят те, которые экспортируются из него.

  • Зависимости времени компиляции от других сборок.

  • Разрешения, необходимые для правильного выполнения сборки.

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

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

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

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

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

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

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

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

См. также