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

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

  • С использованием встроенных типов взаимодействия: начиная с платформы .NET Framework 4, можно указать компилятору, что в исполняемый файл следует внедрить информацию о типах из сборки взаимодействия. Компилятор встраивает информацию только о типах, используемых приложением. Развертывать сборку взаимодействия вместе с приложением не требуется. Это рекомендуемая методика.

  • Путем развертывания сборок взаимодействия: можно создать стандартную ссылку на сборку взаимодействия. В данном случае сборку взаимодействия следует развернуть вместе с приложением. Если применяется данный метод и не используется частный COM-компонент, необходимо во всех случаях ссылаться на основную сборку взаимодействия, опубликованную автором COM-компонента, который планируется интегрировать в управляемый код. Дополнительные сведения о создании и использовании основных сборок взаимодействия см. в разделе Основные сборки взаимодействия.

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

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

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

Закрытые сборки

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

Структура каталогов и записи реестра для закрытого развертывания

Структура папки и реестр Windows

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

Общие сборки

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

См. также

Основные понятия

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

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

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

Компиляция проекта, использующего взаимодействие