Je viens d'acheter une nouvelle machine virtuelle basée sur le cloud avec Windows Server 2016 installé. Je vérifie également que IIS 10 dispose de .NET Framework 4.6 et ASP.NET 4.6.
Mon application MVC ASP.NET cible .NET 4.5 et a été publiée avec succès sur le "site Web par défaut" sur ce serveur à l'aide du déploiement Web. (Vous pouvez voir tous les fichiers asp.net mvc publiés ici)
'Site Web par défaut' utilise 'DefaultAppPool', qui possède une version v4.0 .NET CLR.
Mais lorsque j'ai ouvert la page Web dans mon navigateur, j'ai reçu un message d'erreur «403 - Interdit: l'accès est refusé». Erreur. J'ai fait mes recherches. Il me semble que IIS n'a jamais essayé de l'ouvrir en tant qu'application ASP.NET MVC. Il essaie simplement de trouver un fichier physique portant le même nom que "controller/Action" et ne peut bien sûr pas le trouver. Solutions que j'ai essayées avec:
Un autre article mentionne le 'UrlRoutingModule-4.0' dans la configuration des modules IIS. Dans mon cas, le module de routage n'est pas là pour une raison quelconque. Je l'ai ajouté, mais rien ne change. De plus, chaque fois que je republie le site Web à partir de VS, le module disparaît une fois le déploiement réussi.
J'ai aussi essayé d'ajouter <modules runAllManagedModulesForAllRequests="true"/>
à mon fichier webconfig, pas de chance non plus.
Exécutez aspnet_regiis -ir sur le serveur. Il indique que la commande ne peut pas être exécutée sur ce système d’exploitation, mais qu’elle est quand même exécutée. Cependant, le problème est toujours là.
J'ai finalement obtenu le travail !!!
La solution consiste à ouvrir le panneau de configuration, puis à cliquer sur "Activer et désactiver les fonctionnalités de Windows", puis sur "Rôles du serveur" -> "Serveur Web (IIS)" -> "Serveur Web" -> "Développement d'applications". devez vous assurer que les extensions '.NET Extensability 4.6' et 'ASP.NET 4.6' sont installées.
Apparemment, lorsque IIS 10 est installé, ceux-ci ne seront pas installés par défaut. Merci les gars pour votre aide.
la raison est asp.net mvc n'est pas installé complètement sur la machine.
veuillez lire les instructions d'installation IIS et des modules ASP.NET.