Практическое руководство. Размещение на одном сервере веб-приложений, использующих различные версии .NET Framework

Если необходимо установить на сервере новую версию платформы .NET Framework, но не требуется обновлять все запущенные на этом сервере веб-приложения для их настройки на использование данной версии платформы, можно одновременно запустить несколько версий .NET Framework.

Каждое приложение ASP.NET сконфигурировано для работы в определенной версии среды CLR. Когда на сервере одновременно запущено несколько версий среды CLR, можно связать каждое веб-приложение с определенной версией среды CLR.

Примечание

Если веб-приложение IIS, предназначенное для .NET Framework 3.5 или более ранних версий, вложено в веб-приложение IIS, предназначенное для .NET Framework 4, то во время компиляции вложенного приложения компилятор может выдавать сообщения об ошибках.Это происходит потому, что файлы Web.config наследуют параметры от файлов, находящихся выше в иерархии файлов конфигурации.В .NET Framework 4 предусмотрена обратная совместимость; таким образом, вложенное приложение, предназначенное для .NET Framework 4, может наследовать параметры от файлов Web.config для более старых версий.Тем не менее, более старые версии платформы .NET Framework не имеют прямой совместимости, поэтому они не могут наследовать параметры из файла Web.config .NET Framework 4.Приложения ASP.NET 4, настроенные как дочерние для приложений, использующих более ранние версии ASP.NET, также могут не запускаться.Информацию о том, как исправить такую ситуацию, см. в разделе "ASP.NET 4 Child Applications Fail to Start When Under ASP.NET 2.0 or ASP.NET 3.5 Applications" документа ASP.NET 4 Beta 2 Breaking Changes на веб-сайте ASP.NET.

Дополнительные сведения см. в разделе Общие сведения об одновременном выполнении в ASP.NET.

Установка платформы .NET Framework

На одном сервере можно установить несколько версий платформы .NET Framework. Кроме того, можно удалить отдельную версию платформы .NET Framework.

Установка определенной версии платформы .NET Framework

  1. Запустите программу установки распространяемого пакета .NET Framework (Dotnetfx.exe) для версии, которую необходимо установить.

    При установке дополнительной версии среды CLR на сервере, на котором уже имеется более ранняя версия, существующие приложения ASP.NET не обновляются автоматически, чтобы использовать новую установленную версию, даже если она является более новой. Для получения сведений о том, как связать приложение с определенной версией среды CLR, см. процедуры, приведенные далее в данном документе.

    Дополнительные сведения об установке .NET Framework см. в разделах Руководство по развертыванию .NET Framework для разработчиков и Руководство по развертыванию .NET Framework для администраторов.

  2. Используя один из следующих способов, убедитесь, что в IIS включена среда ASP.NET:

    • В IIS 6.0 используйте консоль управления безопасностью.

    • В IIS 7.0 используйте модуль Ограничения ISAPI и CGI диспетчера IIS.

    Если платформа .NET Framework устанавливается с помощью приложения Установка и удаление программ в панели управления или с помощью мастера настройки сервера Windows, ASP.NET включается в консоли управления безопасностью по умолчанию. Если же платформа .NET Framework установлена с помощью Microsoft Visual Studio, программы обновления Windows или распространяемого пакета .NET Framework (Dotnetfx.exe), то ASP.NET по умолчанию отключена.

  3. Передайте настройки пользовательской конфигурации из текущего файла конфигурации в новый файл Machine.config.

    Каждая версия среды CLR имеет собственную версию файла Machine.config. При установке новой версии среды CLR автоматическая передача настроек пользовательской конфигурации из текущего файла Machine.config в новый установленный файл Machine.config не выполняется.

Удаление определенной версии платформы .NET Framework

  • Для удаления определенной версии платформы .NET Framework используйте приложение Установка и удаление программ в панели управления.

    В процессе удаления программа установки вызывает инструмент для регистрации IIS ASP.NET (Aspnet_regiis.exe) с параметром -u (флаг удаления). Дополнительные сведения о параметре -u средства Aspnet_regiis.exe см. в разделе Программа регистрации IIS для ASP.NET (Aspnet_regiis.exe).

    Предупреждение

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

Связывание веб-приложения ASP.NET с определенной версией среды CLR

После установки на сервере второй (или последующей) версии платформы .NET Framework можно связать приложения ASP.NET с определенными версиями среды CLR. Для этого в IIS 7.0 и IIS 6.0 используются различные процедуры.

Связь веб-приложения с определенной версией среды CLR в IIS 7.0

  1. В Windows нажмите кнопку Пуск и выберите команду Выполнить.

  2. В диалоговом окне Запуск программы введите inetmgr и нажмите кнопку ОК.

  3. В области Подключения раскройте узел сервера и выберите Пулы приложений.

  4. На странице Пулы приложений выберите пул приложений, содержащий приложение, которое необходимо изменить.

  5. На панели Действия выберите команду Просмотреть приложения.

  6. Выберите приложение, для которого необходимо изменить пул приложений, а затем щелкните Изменить пул приложений в области Действия.

    Отображается диалоговое окно Выбор пула приложений.

  7. В списке Пул приложений выберите пул приложений, связанный со средой CLR, в которой необходимо запускать приложение, а затем нажмите кнопку ОК.

    Если для требуемой версии среды CLR нет пула приложений, необходимо создать новый пул приложений. Дополнительные сведения см. на странице IIS 7.0. Управление пулами приложений в IIS 7.0 (страница может быть на английском языке).

Связь веб-приложения с определенной версией среды CLR в IIS 6.0

См. также

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

Общие сведения об одновременном выполнении в ASP.NET

Настройка веб-проектов ASP.NET для нескольких версий .NET Framework

Карта содержимого развертывания ASP.NET

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

Microsoft ASP.NET 4 Hosting Deployment Guide