Разверните приложение для взаимодействия

Note

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

Приложение взаимодействия обычно включает клиентную сборку .NET, одну или несколько сборок взаимодействия, представляющих отдельные библиотеки типов COM и один или несколько зарегистрированных COM-компонентов. Visual Studio и пакет SDK Windows предоставляют средства для импорта и преобразования библиотеки типов в сборку взаимодействия, как описано в статье "Импорт библиотеки типов в виде сборки". Существует два способа развертывания приложения взаимодействия:

  • С помощью внедренных типов взаимодействия: укажите компилятору внедрить в исполняемый файл сведения о типах из сборки взаимодействия. Компилятор внедряет только информацию о типах, которые использует ваше приложение. Вам не нужно развертывать сборку для взаимодействия с приложением. Это рекомендуемый метод.
  • Путем развертывания сборок взаимодействия: создание стандартной ссылки на сборку взаимодействия. В этом случае сборка взаимодействия должна быть развернута непосредственно с вашим приложением. Если вы применяете этот метод и не используете приватный COM-компонент, всегда ссылайтесь на основную сборку взаимодействия (Primary Interop Assembly, PIA), опубликованную автором COM-компонента, который вы планируете включить в управляемый код.

Если вы используете встроенные типы взаимодействия, развертывание является простым и незатруднительным. Нет ничего особенного, что вам нужно сделать. В остальной части этой статьи описываются сценарии развертывания и использования сборок для обеспечения взаимодействия вашего приложения.

Развертывание сборок взаимодействия

Сборки могут иметь строгие имена. Сборка с строгим именем включает открытый ключ издателя, который предоставляет уникальную идентичность. Сборки, созданные импортом библиотеки типов (Tlbimp.exe), могут быть подписаны издателем с помощью параметра /keyfile . Подписанные сборки можно установить в глобальный кэш сборок. Неподписанные сборки должны быть установлены на компьютере пользователя в качестве частных сборок.

Частные сборки

Чтобы установить сборку для частного использования, необходимо установить исполняемый файл приложения и сборку интероперабельности, содержащую импортированные типы COM, в одну структуру каталогов. На следующем рисунке показана не подписанная сборка для взаимодействия, предназначенная для частного использования в Client1.exe и Client2.exe, которые находятся в отдельных каталогах приложений. В этом примере сборка взаимодействия, которая называется LOANLib.dll, устанавливается дважды.

Структура каталогов и

Все компоненты COM, связанные с приложением, должны быть установлены в реестре Windows. Если Client1.exe и Client2.exe на рисунке установлены на разных компьютерах, необходимо зарегистрировать com-компоненты на обоих компьютерах.

Общие сборки

Сборки, совместно используемые несколькими приложениями, должны быть установлены в централизованном репозитории, называемом глобальным кэшем сборок. Клиенты .NET могут получить доступ к той же копии сборки взаимодействия, которая подписана и установлена в глобальном кэше сборок. Дополнительные сведения о создании и использовании основных сборок взаимодействия см. в разделе "Основные сборки взаимодействия".

См. также