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


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

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

  • Закрытое развертывание.

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

    Закрытое развертывание сборок — удобный способ развернуть приложение для параллельного выполнения, поскольку такие сборки не могут повлиять на другие сборки компьютера. Кроме того, закрытым способом можно развертывать сборки как со строгими именами, так и без строгих имен. Сборки со строгими именами необязательно развертывать в глобальном кэше сборок; их можно развернуть в папке приложения. Если использовать сборку в нескольких приложениях не планируется, ее можно развернуть закрытым способом в каталоге приложения.

    Еще одно преимущество закрытого развертывания — это возможность применить для развертывания приложения команду XCOPY.

  • Развертывание в глобальный кэш сборок.

    Установка сборки в глобальный кэш сборок делает ее видимой для всех приложений компьютера. Такой тип развертывания подходит, когда сборка используется несколькими приложениями. Обратите внимание, что в глобальный кэш сборок могут развертываться только сборки со строгими именами.

    Как установщик Windows, так и средство глобального кэша сборок (Gacutil.exe) могут устанавливать сборки в глобальный кэш сборок. Средство глобального кэша сборок следует использовать во время разработки и тестирования, установщик же Windows рекомендуется использовать непосредственно для развертывания приложения. Установщик Windows следит за ссылками на сборки, установленные в глобальный кэш сборок, поэтому совместно используемая сборка не удаляется, пока она нужна хотя бы одному приложению компьютера. Дополнительные сведения об установке приложений для параллельного выполнения см. в разделе Использование установщика Windows для установки приложений и компонентов для параллельного выполнения.

  • Развертывание с использованием элемента <codeBase>.

    Элемент <codeBase> можно включить в файл конфигурации приложения, чтобы помочь среде выполнения обнаруживать сборки. Среда выполнения использует сведения о расположении, которые содержатся в элементе <codeBase>, а не ищет сборку с помощью стандартных правил. Элемент <codeBase> может применяться для сборок как со строгим именем, так и для сборок без него.

    Для сборок без строгого имени элементы <codeBase> должны ссылаться на папку приложения. Это гарантирует отсутствие коллизий имен при параллельном выполнении, то есть в ситуации, когда среда выполнения находит две сборки с одинаковыми именами.

    Для сборок со строгим именем элементы <codeBase> могут направлять среду выполнения в любое расположение. Элементы <codeBase> предоставляют механизм совместного использования несколькими приложениями сборок со строгими именами без обращения к глобальному кэшу сборок. Однако этот способ следует применять с осторожностью, поскольку можно нарушить работу приложения, если при смене версий задать неверный элемент <codeBase>.

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

См. также

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

Использование установщика Windows для установки приложений и компонентов для параллельного выполнения

Развертывание .NET Framework и приложений

Рекомендации по созданию приложений и компонентов для параллельного выполнения

Другие ресурсы

Создание нескольких версий приложения или компонента