Jak ustawić wersję .net Framework 4.5 w puli aplikacji IIS 7

203

Zainstalowałem Beta Visual Studio 11 i nagle wszystkie metody asynchroniczne, które utworzyłem w ramach podglądu VS 11 Developer, zaczęły się zawieszać (najwyraźniej ten problem: http://blogs.msdn.com/b/pfxteam/archive/2012/03/ 03 / 10277166.aspx ).

Moja aplikacja używa wersji 4.0.30319 jako wersji Framework, ale nie ma opcji użycia wersji 4.5. Naprawiłem instalację .net 4.5, aby mieć pewność, ale nic. Czy istnieje sposób, aby to skonfigurować w IIS? Czy muszę wdrożyć bin pliki (a jeśli tak, to które)?

Gene Reddick
źródło
6
Link do instalacji .Net 4.5 dla serwerów, na wypadek gdyby ktoś tu szukał: microsoft.com/en-us/download/details.aspx?id=30653
Chris Moschini
2
Instalator offline .NET Framework 4.5.1: microsoft.com/en-us/download/details.aspx?id=40779
Peter Kiss
1
.NET 4 i .NET 4.5 (w tym 4.5.1 i 4.5.2) znajdują się w CLR w wersji 4.0 >>> Więcej szczegółów: msdn.microsoft.com/en-us/library/8bs2ecf4(v=vs.110). aspx
VnDevil

Odpowiedzi:

381

Brak puli aplikacji 4.5. Możesz użyć dowolnej aplikacji 4.5 z puli aplikacji 4.0. .NET 4.5 to „tylko” aktualizacja w miejscu, a nie ważna nowa wersja.

Peter Kiss
źródło
Dzięki. Podejrzewałem tak samo, choć niejasne, dlaczego wywołania asynchroniczne zawodzą. Postawię to w innym pytaniu.
Gene Reddick
2
Mam pulę aplikacji 4.5 w IIS po zainstalowaniu Visual Studio 2012 i 4.5 oraz Windows 8
Brian Mains
30
Tak, Apppool ma nazwę „.NET v4.5”, ale sprawdź kolumnę wersji .NET Framework na ekranie IIS - Pule aplikacji, będzie to 4.0. (Istnieją 3 podstawowe CLR: 1.0, 2.0, 4.0.)
Peter Kiss
Co tu się dzieje? Nie mam jeszcze wersji 4.5 wymienionej jako wersja ramowa, więc SO zapewnia, że ​​istnieje nowy CLR, w przeciwieństwie do Petera stackoverflow.com/questions/8810391/…
Luke Puplett
4
msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx - sekcja Funkcje i IDE; to nie jest nowy CLR
Peter Kiss
35

Przejdź do „Uruchom” i wykonaj to:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

UWAGA: uruchom jako administrator.

Vitor Sousa
źródło
chciałem tylko podziękować, tak szczęśliwy, że w końcu znalazłem to rozwiązanie
Jordan Wayne Crabb,
Moja aplikacja przypomina mi, że nie mogę znaleźć .NET Framework 4.5, gdy próbuję uruchomić go z VS 2015. Po wykonaniu tego polecenia działa jak urok. Dziękuję Ci. Pamiętaj, uruchom jako administrator na CMD.
Nijat2018,
19

W interfejsie GUI nie ma wersji 4.5 i zazwyczaj nie trzeba ręcznie określać wersji 4.5, ponieważ jest to aktualizacja lokalna. Możesz jednak ustawić to jawnie za pomocą appcmd w następujący sposób:

appcmd set apppool /apppool.name: [App Pool Name] /managedRuntimeVersion:v4.5

Appcmd znajduje się w %windir%\System32\inetsrv. Pomogło mi to naprawić problem z Web Deploy, który zgłaszał błąd ERROR_APPPOOL_VERSION_MISMATCH po aktualizacji z wersji 4.0 do wersji 4.5.

Artykuł MS na temat ustawiania wersji .Net dla puli aplikacji

Walter
źródło
1
Podczas instalowania IIS przed instalacją ASP.Net 4.5 lub 4.0 możesz napotkać brakującą rejestrację w metabazie. Użycie aspnet_regiis może pomóc zresetować IIS na całym serwerze, ale należy pamiętać, że zaktualizuje on wszystkie pule aplikacji do wybranej wersji.
Jan Hebnes,