Що насправді робить налаштування ".NET Framework Version" в IIS?


19

Це здається очевидним питанням, але я намагаюся визначити, що насправді змінюється кнопка "Змінити версію .NET Framework" на панелі налаштування IIS верхнього рівня. На всіх моїх серверах він завжди залишався на v2.0. Мої пули програм - це суміш v2.0 та v4.0, і всі мої програми v4.0 працюють коректно.

Отже, що контролює цей номер версії? На чому б покладатися, що не буде призначено до пулу додатків? Здається дивно.

Налаштування, про яке йдеться, зображено нижче:

введіть тут опис зображення

Відповіді:


13

Це робить IIS вказівкою на різні файли конфігурації кореневого рівня для .NET. Ці файли кореневого рівня знаходяться в папках встановлення рамки в%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

IIS шукає конфігураційні файли для себе %systemroot%\system32\inetsrv\config\applicationHost.config
і для .NET в
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

Зміна версії .NET перемикає, до якого machine.config звикнути. Наприклад, змінивши його на v2.050727, це буде розглянуто %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. Якщо змінити v4.0.30319, це буде розглянуто%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

Програми успадковують речі з налаштувань конфігурації кореневого рівня.

Перегляньте цю статтю, яка окреслює конфігураційну систему та показує ієрархію конфігурації.


3

За інформацією TechNet , цей параметр керує версією .NET Framework "за замовчуванням".

На рівні пулу програм це налаштування керує рамкою, яка використовується для розміщення програм, пов'язаних з пулом. На рівні сервера це налаштування, як видається, не має негайного або очевидного впливу на .NET 4.0 або 2.0 сайти, що працюють на моєму тестовому сервері, проте я сумніваюся, що це було б варіантом, якщо він нічого не зробив. Розташування у розділі «Розгортання» панелі «Дії» змушує мене замислитись, чи не вплине це також на імпорт / експорт пакунків, розташованих там. Я збираюся це перевірити.

Я знайшов пов'язаний потік на iis.net, який, схоже, вказує, що цей параметр вплине на розділи файлів конфігурації, які підтримуються за замовчуванням, не додаючи у верхню частину файлів.

Я не знайшов багато іншого в Інтернеті, це здається досить незрозумілою настройкою.

Редагувати: відповідь від squillman краще.


1
Я збирався відповісти точно так само, але потім перечитав питання: він говорить про налаштування верхнього рівня в IIS, а не про конкретний пул додатків. І ця настройка для мене також не має сенсу, оскільки в IIS немає жодної "глобальної" версії .NET, це налаштування для пулу додатків.
Массімо

Так, ви праві, дякую за коментар. Мені доведеться відредагувати свою відповідь.
jbuch

2
Також зверніть увагу. NET 4.5 - це розширення до 4.0, воно не впроваджує нового часу виконання.
Річард

Як виявляється, моя первісна відповідь стосувалася пулів додатків, і вже зараз зрозуміло, що ви клацаєте на варіант "Змінити .NET Framework версію" на панелі "Дії", коли натискаєте на вузол сервера в менеджері IIS інструмент. Тож я в принципі мені не допомогла, якщо за декілька хвилин я не зможу знайти кращої відповіді, я можу видалити свою відповідь.
jbuch
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.