web-dev-qa-db-fra.com

Site Web MVC 4 avec .NET 4.5 sur IIS 8 dans Windows 8 donne une erreur interdite 403.14

J'ai un site Web que j'ai construit dans Visual Studio 2012 en utilisant MVC 4 et .NET Framework 4.5. Lorsque j'essaie de l'exécuter via IIS 8 sur une machine exécutant Windows 8 Pro, j'obtiens une erreur 403.14. Elle indique

"Interdit Le serveur Web est configuré pour ne pas répertorier le contenu de ce répertoire.

Causes les plus probables: un document par défaut n'est pas configuré pour l'URL demandée et la navigation dans les répertoires n'est pas activée sur le serveur. "

Voici certaines choses que j'ai essayées et qui n'ont pas fonctionné:

  • Exécutez% windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe - i et% windir%\Microsoft.NET\Framework\v4 .0.30319\aspnet_regiis.exe - ir dans ce répertoire et dans le répertoire Framework64. Cela donne cette erreur: "Cette option n'est pas prise en charge sur cette version du système d'exploitation. Les administrateurs doivent plutôt installer/désinstaller ASP.NET 4.5 avec IIS8 à l'aide de la boîte de dialogue" Activer/désactiver les fonctionnalités Windows ", l'outil de gestion du Gestionnaire de serveur ou l'outil de ligne de commande dism.exe. Pour plus de détails, consultez http://go.Microsoft.com/fwlink/?LinkID=216771 . " Le lien mène à une page sur Windows Server 2012 qui n'aide pas. Je n'ai pas pu trouver un paramètre spécifique dans la boîte de dialogue "Activer ou désactiver les fonctionnalités Windows" pour iis 8. Tout ce qui concerne .net 4.5 est activé.
  • Ajoutez à dans Web.config. Cela donne l'erreur: "Cette section de configuration ne peut pas être utilisée sur ce chemin. Cela se produit lorsque la section est verrouillée au niveau parent. Le verrouillage est soit par défaut (overrideModeDefault =" Deny "), soit défini explicitement par une balise d'emplacement avec overrideMode = "Refuser" ou l'héritage allowOverride = "false". "

Je me suis assuré que .net 4.5 est installé sur le serveur (l'installateur a dit qu'il est intégré à Windows 8 et n'a pas besoin d'être installé). Le pool d'applications est le pool par défaut utilisant .net 4.0, pipeline intégré, avec les applications 32 bits activées. Je publie dans le répertoire par défaut (inetpub\wwwroot) et le site par défaut qui y était a bien fonctionné. La redirection HTTP est activée dans "Activer ou désactiver les fonctionnalités Windows"

Quelqu'un peut-il offrir plus d'informations?

EDIT: Eh bien, bien sûr, juste après avoir posté cela, j'ai trouvé quelque chose qui fonctionne. Allez comprendre.

Dans "Activer ou désactiver les fonctionnalités Windows", sous Services Internet (IIS) -> Services World Wide Web -> Fonctionnalités de développement d'applications, assurez-vous que .NET Extensibility 3.5, .NET Extesibility 4.5, ASP.NET 3.5, ASP.NET 4.5, ISAPI Les extensions et les filtres ISAPI sont SÉLECTIONNÉS.

Cela a été décrit ici: http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45 # TOC301258515 mais comme cela faisait référence au serveur 2012 au lieu de Windows 8, je n'ai pas pu trouver le bon emplacement pour ces paramètres.

J'espère que cela aide toute personne ayant un problème similaire. Merci d'avoir lu.

39
RossD

Dans "Activer ou désactiver les fonctionnalités Windows", sous Services Internet (IIS) -> Services World Wide Web -> Fonctionnalités de développement d'applications, assurez-vous que .NET Extensibility 3.5, .NET Extesibility 4.5, ASP.NET 3.5, ASP.NET 4.5, ISAPI Les extensions et les filtres ISAPI sont SÉLECTIONNÉS.

Cela a été décrit ici: http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45 # TOC301258515 mais comme cela faisait référence au serveur 2012 au lieu de Windows 8, je n'ai pas pu trouver le bon emplacement pour ces paramètres.

Remarque: réponse ajoutée pour nettoyer la question sans réponse

68
Eduardo Molteni