Comment définir la version .net Framework 4.5 dans le pool d'applications IIS 7

203

J'ai installé Visual Studio 11 Beta et soudainement toutes les méthodes d'action asynchrone que j'avais créées sous l'aperçu du développeur VS 11 ont commencé à se bloquer (apparemment ce problème: http://blogs.msdn.com/b/pfxteam/archive/2012/03/ 03 / 10277166.aspx ).

Mon application utilise v4.0.30319 comme version du framework, mais il n'y a pas d'option pour utiliser 4.5. J'ai réparé mon installation .net 4.5 pour être sûr, mais rien. Existe-t-il un moyen de configurer cela dans IIS? Dois-je bin déployer les fichiers (et si oui, lesquels)?

Gene Reddick
la source
6
Lien vers l'installation de .Net 4.5 pour les serveurs, au cas où quelqu'un atterrirait ici à la recherche: microsoft.com/en-us/download/details.aspx?id=30653
Chris Moschini
2
Programme d'installation de .NET Framework 4.5.1 hors ligne: microsoft.com/en-us/download/details.aspx?id=40779
Peter Kiss
1
.NET 4 et .NET 4.5 (y compris 4.5.1 et 4.5.2) sont sur la version 4.0 de CLR >>> Plus de détails: msdn.microsoft.com/en-us/library/8bs2ecf4(v=vs.110). aspx
VnDevil

Réponses:

381

Il n'y a pas de pool d'applications 4.5. Vous pouvez utiliser n'importe quelle application 4.5 dans le pool d'applications 4.0. Le .NET 4.5 est "juste" une mise à jour sur place et non une nouvelle version majeure.

Peter Kiss
la source
Merci. Je m'en doutais, bien que je ne sache pas pourquoi les appels asynchrones échouent. Je vais poser cela dans une autre question.
Gene Reddick
2
J'ai un pool d'applications 4.5 dans IIS après avoir installé Visual Studio 2012 et 4.5, et Windows 8
Brian Mains
30
Oui, l'Apppool a le nom ".NET v4.5" mais vérifiez la colonne de version de .NET Framework dans IIS - écran Pools d'applications, ce sera 4.0. (Il y a 3 CLR de base: 1.0, 2.0, 4.0.)
Peter Kiss
Que se passe t-il ici? Je n'ai pas 4.5 répertorié comme version de framework, mais ce SO QA dit qu'il y a un nouveau CLR, contrairement à Peter stackoverflow.com/questions/8810391/…
Luke Puplett
4
msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx - Fonctionnalités et section IDE; ce n'est pas un nouveau CLR
Peter Kiss
35

Allez dans "Exécuter" et exécutez ceci:

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

REMARQUE: exécutez en tant qu'administrateur.

Vitor Sousa
la source
je voulais juste dire merci, tellement heureux que j'ai finalement trouvé cette solution
Jordan Wayne Crabb
Mon application me rappelle de ne pas trouver .net Framework 4.5 lorsque j'essaie de l'exécuter avec VS 2015. Après avoir exécuté cette commande, cela fonctionne comme un charme. Je vous remercie. N'oubliez pas d'exécuter en tant qu'administrateur sur CMD.
Nijat2018
19

Il n'y a pas de v4.5 affichée dans l'interface graphique, et vous n'avez généralement pas besoin de spécifier manuellement la v4.5 car il s'agit d'une mise à jour sur place. Cependant, vous pouvez le définir explicitement avec appcmd comme ceci:

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

Appcmd se trouve dans %windir%\System32\inetsrv. Cela m'a aidé à résoudre un problème avec Web Deploy, où il générait une erreur ERROR_APPPOOL_VERSION_MISMATCH après la mise à niveau de la v4.0 vers la v4.5.

Article MS sur la définition de la version .Net pour App Pool

Walter
la source
1
Lors de l'installation d'IIS avant d'installer ASP.Net 4.5 ou 4.0, vous pouvez faire face à un enregistrement manquant dans la métabase. L'utilisation d'aspnet_regiis peut aider à réinitialiser IIS à l'échelle du serveur, mais notez qu'il mettra à niveau tous les pools d'applications vers la version sélectionnée.
Jan Hebnes