web-dev-qa-db-fra.com

Impossible d'exécuter l'application Web ASP.NET MVC 2 sur IIS 7.5

J'essaie d'exécuter une application Web ASP.NET MVC 2 sous IIS sous Windows 7, mais j'obtiens une erreur 403.14. Voici les étapes à suivre pour reproduire:

  1. Ouvrez Visual Studio 2010
  2. Créez un nouveau projet ASP.NET MVC 2 appelé MvcApplication1
  3. Maj + F5 pour exécuter l'application. Vous devriez voir http://localhost:{random_port}/ et la page sera rendue correctement.
  4. Cliquez sur MvcApplication1 et sélectionnez "Propriétés". Allez dans la section "Web". 
  5. Sélectionnez "Utiliser le serveur Web local IIS" et créez un répertoire virtuel. 
  6. Sauvegarder.
  7. Maj + F5 pour exécuter l'application. Vous devriez voir http://localhost/MvcApplication1/ et une erreur IIS HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory..

Il est clair que, pour une raison quelconque, le routage ASP.NET ne fonctionne pas correctement. 

Choses auxquelles j'ai déjà pensé et essayé:

  • Vérifié que toutes les fonctionnalités IIS sont activées dans «Activer ou désactiver les fonctionnalités Windows».
  • Vérification que le site Web par défaut est configuré pour utiliser .NET 4.0
  • Les cartes de script ASP.NET v4 réassignées via aspnet_regiis -i dans le répertoire v4.0.30319.

Voici la partie la plus étonnante - c'est sur une machine qui vient d'être construite. Nouvelle copie de Windows 7 x 64 Ultimate, nouvelle installation de Visual Studio 2010 Premium, aucun autre site Web ni autre travail effectué. 

Quelque chose d'autre que je peux essayer? 

Configuration de Visual Studio pour utiliser le serveur Web local IIS http://i41.tinypic.com/11j176b.png

62
Portman

Ok, cela est résolu pour moi, en procédant comme suit:

Lancer aspnet_regiis -i dans le 32-bit directory c:\Windows\Microsoft.NET\Framework\v4.0.30319.

À ce stade, je ne comprends pas pourquoi le mode 64 bits ne fonctionne pas, mais je suis maintenant débloqué. J'espère que cela aidera tous ceux qui ont ce problème.

85
Portman

J'ai eu exactement le même problème, alors merci pour votre aide.

Cependant ... avez-vous essayé d'exécuter la commande aspnet_regiis -i dans l'invite de commande Visual Studio 64 bits (avec les privilèges d'administrateur)? Quand j'ai fait cela, cela a été corrigé pour le mode 64 bits.

Pour clarifier, j'ai cliqué avec le bouton droit sur Visual Studio x64 Win64 Command Prompt (2010) et choisi Exécuter en tant qu'administrateur. Puis je suis allé ici:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

Et a fait ceci: aspnet_regiis -i

Et maintenant cela fonctionne parfaitement.

46
Tom Chantler

Assurez-vous également que le fichier de configuration comporte la ligne suivante, sinon le routage ne fonctionnera pas.

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
27
Rohan West

Une autre chose à noter, assurez-vous que votre pool d'applications est défini sur intégré

7
JGilmartin

N'utilisez pas runAllManagedModulesForAllRequests. Vous souhaitez laisser IIS gérer des ressources telles que des images.

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

Ajoutez plutôt le module de routage MVC

<system.webServer>
  <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  </modules>
</system.webServer>
7
Chris Herring

J'ai eu ce même problème sur IIS8/Windows Server 2012. Aucune des nombreuses solutions proposées ne fonctionnait jusqu'à ce que j'essaye ce qui suit.

dism /online /enable-feature /featurename:IIS-ASPNET45 /All

Sans le commutateur '/ All', il s'est plaint du fait qu'une fonctionnalité parent n'était pas installée.

La chose étrange est que, selon Windows/ Activer ou désactiver les fonctionnalités Windows facility, asp.net 4.5 était déjà installé. 

Il n'était pas nécessaire de modifier le fichier web.config, d'ajouter ou de supprimer des modules.

4
Jeroen Ritmeijer

J'ai toujours utilisé le paramètre de serveur personnalisé dans VS 2008, qui me permet toujours de déboguer sans problèmes. Pas sûr que cela fonctionne différemment en 2010

0
Daniel Schaffer

J'ai eu ces symptômes; Mon Global.asax se bloquait. Correction du crash, tout fonctionne maintenant.

0
Charlie