Co właściwie robi ustawienie „.NET Framework Version” w IIS?

19

To wydaje się oczywiste pytanie, ale próbuję ustalić, co faktycznie zmienia przycisk „Zmień wersję .NET Framework” na panelu konfiguracji IIS najwyższego poziomu. Na wszystkich moich serwerach zawsze pozostawało w wersji 2.0. Moje pule aplikacji są mieszaniną wersji 2.0 i 4.0, a wszystkie aplikacje w wersji 4.0 działają poprawnie.

Co więc kontroluje ten numer wersji? Na czym polegałoby to, że nie byłoby przypisane do puli aplikacji? Wydaje się dziwne.

To ustawienie jest pokazane poniżej:

wprowadź opis zdjęcia tutaj

John Hargrove
źródło

Odpowiedzi:

13

Powoduje to, że IIS wskazują różne pliki konfiguracyjne na poziomie głównym dla platformy .NET. Te pliki poziomu głównego znajdują się w folderach instalacyjnych środowiska w%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

IIS szuka plików konfiguracyjnych dla siebie %systemroot%\system32\inetsrv\config\applicationHost.config
i dla .NET w
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

Zmiana przełączników wersji .NET, z których korzysta machine.config. Na przykład zmiana go na v2.050727 sprawi, że się sprawdzi %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. Przejdzie do wersji 4.0.30319%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

Aplikacje dziedziczą rzeczy z ustawień konfiguracji na poziomie głównym.

Zapoznaj się z tym artykułem, który opisuje system konfiguracji i pokazuje hierarchię konfiguracji.

squillman
źródło
3

Według TechNet to ustawienie kontroluje „domyślną” wersję .NET Framework.

Na poziomie puli aplikacji to ustawienie kontroluje strukturę używaną do hostowania aplikacji powiązanych z pulą. Na poziomie serwera to ustawienie nie wydaje się mieć żadnego bezpośredniego lub oczywistego wpływu na witryny .NET 4.0 lub 2.0 działające na moim serwerze testowym, jednak wątpię, aby byłaby to opcja, gdyby nic nie zrobił. Jego lokalizacja w sekcji Wdróż w okienku Akcje sprawia, że ​​zastanawiam się, czy wpłynęłoby to również na znajdujące się tam pakiety importu / eksportu. Zamierzam to przetestować.

Znalazłem pokrewny wątek na iis.net, który wydaje się wskazywać, że to ustawienie wpłynie na sekcje plików konfiguracyjnych, które są domyślnie obsługiwane bez dodawania na górze plików.

Nie znalazłem wiele innych rzeczy do przeszukiwania sieci, wydaje się, że jest to dość niejasne ustawienie.

Edycja: Odpowiedź squillmana jest lepsza.

jbuch
źródło
1
Chciałem odpowiedzieć dokładnie w ten sam sposób, ale potem ponownie przeczytałem pytanie: mówi o ustawieniach najwyższego poziomu w IIS, a nie o konkretnej puli aplikacji. I to ustawienie nie ma sensu do mnie albo, jak tam jest nie lada „globalne” wersja .NET w IIS, to pula aplikacji - specyficzne ustawienie.
Massimo,
Tak, masz rację, dziękuję za komentarz. Będę musiał edytować moją odpowiedź.
jbuch
2
Uwaga. .NET 4.5 jest rozszerzeniem do 4.0, nie wprowadza nowego środowiska uruchomieniowego.
Richard
Jak się okazuje, moja pierwotna odpowiedź dotyczyła pul aplikacji i teraz jest jasne, że masz na myśli opcję „Zmień wersję .NET Framework” w okienku „Działania” po kliknięciu węzła serwera w Menedżerze IIS narzędzie. Zasadniczo więc nie pomogłem, jeśli za kilka minut nie znajdę lepszej odpowiedzi, usunę moją odpowiedź.
jbuch