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)?


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.


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.


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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.