Je configure un projet MVC 3 pour qu'il fonctionne sur une installation locale de IIS et j'ai rencontré l'erreur 500 suivante:
Le gestionnaire "PageHandlerFactory-Integrated" a un mauvais module "ManagedPipelineHandler" dans sa liste de modules.
Il s’avère que cela est dû au fait que ASP.Net n’était pas complètement installé avec IIS même si j’avais coché cette case dans le dialogue "Ajouter une fonctionnalité". Pour résoudre ce problème, j'ai simplement exécuté la commande suivante à l'invite de commande
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Si j'avais été sur un système 32 bits, cela aurait ressemblé à ceci:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Ma question est la suivante: existe-t-il un moyen d'installer IIS sur un ordinateur Windows 7 pour utiliser .NET 4.0 (MVC 3) sans prendre cette mesure supplémentaire?
Il s’avère que cela est dû au fait que ASP.Net n’était pas complètement installé avec IIS même si j’avais coché cette case dans le dialogue "Ajouter une fonctionnalité". Pour résoudre ce problème, j'ai simplement exécuté la commande suivante à l'invite de commande
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Si j'avais été sur un système 32 bits, cela aurait ressemblé à ceci:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Rappelez-vous d’exécuter la commande Invite en tant qu’administrateur (CTRL+SHIFT+ENTER)
La réponse acceptée est correcte, mais vous obtenez parfois le " Aspnet_regiis.exe n’est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes. " Message d'erreur.
Pour le résoudre, essayez ce qui suit:
Assurez-vous que votre installation .NET 4.0 n'est pas corrompue (exécutez le programme d'installation et "réparez-le"). Il y a aussi une chance qu'il ne soit pas installé du tout sur votre machine.
Si vous êtes sûr que .NET 4.0 n'est pas installé et que vous voulez l'exécuter en tant que .NET 2.0, essayez this :
Si vous voyez le message "Aspnet_regiis.exe n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes.", Basculez vers le C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet_regiis.exe -i à l'invite de commande.
Pour résoudre le problème, essayez de repair the .net framework 4
puis exécutez la commande
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Erreur: Le gestionnaire “PageHandlerFactory-Integrated” a un module incorrect “ManagedPipelineHandler” dans sa liste de modules
J'ai trouvé les articles pour résoudre ce problème en exécutant simplement les commandes suivantes à l'invite de commande.
% windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Si le système est en 32 bits, cela aurait ressemblé à ceci:
% windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Mais, lorsque j'ai essayé d'exécuter ces commandes à l'aide de l'invite cmd, j'ai reçu le message d'erreur/avertissement suivant:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -i Microsoft (R) Reg.IS ASP.NET version 4.0.30319.33440 Utilitaire d'administration pour installer et désinstaller ASP.NET sur la machine locale. Copyright (C) Microsoft Corporation. Tous les droits sont réservés. Commencez à installer ASP.NET (4.0.30319.33440). 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 de Windows", de l'outil de gestion du gestionnaire de serveur ou de l'outil de ligne de commande dism.e xe. Pour plus de détails, veuillez consulter http://go.Microsoft.com/fwlin k /? LinkID = 216771. Terminé l'installation d'ASP.NET (4.0.30319.33440).
Pour résoudre ce problème sur Windows 8.1, je suggère de procéder comme suit.
Solution:
Allez à - Activer ou désactiver des fonctionnalités Windows> Services Internet (IIS)> Services World Wide Web> Fonctionnalités de développement d'applications> Activer ASP.NET 4.5
Cela devrait résoudre le problème.
Je voudrais également vérifier la première chose évidente: que le pool d’applications est défini sur la structure correcte et que votre application IIS pointe sur le dossier dans lequel vous avez placé vos fichiers.
J'ai ajouté les chemins ISAPI/CGI pour .Net 4. Ce qui n'a pas résolu le problème. J'ai donc ensuite effectué une réparation sur l'installation .Net V4 (Client et Extended). Ce qui a demandé un redémarrage. Cela a résolu le problème pour moi.
Si vous souhaitez déployer une application MVC sans installer MVC, vous pouvez déployer la DLL MVC avec votre application . Cela évite l'installation de MVC 3. Vous pouvez utiliser les fonctionnalités de certains espaces de noms .Net 4.0 sans installer .Net en utilisant une approche similaire.
J'ai essayé de faire aspnet_regiis dans l'invite de commande mais j'ai obtenu la réponse que je n'ai pas de droits d'administrateur. Ensuite, après quelques recherches supplémentaires sur Google et la recherche d’une solution, j’ai essayé de cliquer avec le bouton droit de la souris sur cmd et de l’exécuter en tant qu’administrateur. Confirmé que lorsque la boîte de dialogue est apparue, aspnet_iis a de nouveau fonctionné comme un charme. En bref: 1. vérifiez .NET Framework dans app_pool 2. exécutez cmd en tant qu'administrateur 3. exécutez aspnet_regiis -i
Pour résoudre ce problème sur un ordinateur Windows 8.1 Professional , procédez comme suit.
Installez le programme d'installation Web Platform. http://www.Microsoft.com/web/downloads/platform.aspx
Dans Web Platform Installer, installez ASP.NET 4.5 (cette fonctionnalité comporte une dépendance).
Si vous essayez simplement la commande Invite cmd mentionnée ci-dessus à partir de la réponse la plus populaire, vous obtiendrez le message d'erreur/avertissement suivant:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -i Microsoft (R) Reg.IS ASP.NET version 4.0.30319.33440 Utilitaire d’administration permettant d’installer et de désinstaller ASP.NET sur la machine locale. Copyright (C) Microsoft Corporation. Tous les droits sont réservés. Commencez à installer ASP.NET (4.0.30319.33440). 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 de Windows", de l'outil de gestion du gestionnaire de serveur ou de l'outil de ligne de commande dism.e xe. Pour plus de détails, veuillez consulter http://go.Microsoft.com/fwlin k /? LinkID = 216771. Terminé l'installation d'ASP.NET (4.0.30319.33440).
J'ai eu le même problème et ma solution était:
Allez à "Activer ou désactiver des fonctionnalités Windows"> Internet Information Services> Services World Wide Web> Fonctionnalités de développement d'applications> Activer ASP.NET 4.5
Utilisation de la fonctionnalité d'initalisation de l'application Demande de mauvaises pages (.asp) en raison de l'héritage de configuration
500.21 ne se produira que lors de la première connexion utilisateur. Les connexions suivantes fonctionnent.
Résolu en corrigeant la collection d'URL applicationInitialization sur le site Web .NET.
J'ai eu un problème similaire avec Windows Server 2012, l'installation de la fonctionnalité "Application Server" dans le gestionnaire de serveur a résolu le problème.
lancer cmd
glissez et déposez Aspnet_regiis.exe
dans la commande Invite de:
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
tapez -i
(par exemple Aspnet_regiis.exe -i
)
appuyez sur entrer
Bonne chance!
dans certains cas, cette erreur se produit car la configuration de Microsoft .NET Framework 4.0 pour ASP .NET a été endommagée, ce qui peut se produire si Microsoft Visual Studio 2012 a été installé avant Visual Studio 2010 ou Microsoft SQL Server 2008.
Après avoir essayé différentes choses, j'en suis arrivé à la conclusion, réparez votre installation .Net en exécutant la commande suivante. Pour plus d'informations, suivez le lien.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart
https://msdn.Microsoft.com/en-us/library/hh168535 (v = nav.80) .aspx
Aucun de ceux-ci n'a fonctionné pour moi. Ainsi, lorsque j'ai comparé plusieurs pools d'applications avec celui qui fonctionnait contre celui qui ne fonctionnait pas, j'ai dû accéder à Paramètres avancés pour le pool d'applications et définir
Activer les applications 32 bits = true
Ensuite, cela a bien fonctionné!
Je rencontrais ce problème sur l'un de mes serveurs Web lorsque j'essayais de faire passer une application de classique à intégrée. Cela a bien fonctionné sur deux de mes autres serveurs Web, pas seulement celui-ci. C'est Server 2012, vous ne pouvez donc pas faire aspnet_regiis et il n'y avait pas de dossier setupcache pour essayer cette réparation. Tout était réglé correctement dans les fonctionnalités.
Après avoir parcouru% windir%\system32\inetsrv\config\applicationHost.config, j'ai trouvé un bit manquant essentiel. Sous mon inactif, il manquait les deux lignes suivantes:
<add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
<add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
Une fois que je les ai ajoutés, tout a bien fonctionné.
J'ai eu ce problème et j'ai constaté que la suppression du dossier suivant m'a aidé, même avec l'édition non-Express.Express:
C:\Users\<user>\Documents\IISExpress
Pour résoudre le problème, essayez de réparer le framework .net 4, puis exécutez la commande
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
J'ai eu le même problème, dans mon cas était à deux endroits:
<system.web>
...
<httpHandlers>
<add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
...
<add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
</handlers>
</system.webServer>
Et quand j'ai enlevé mon gestionnaire de [system.webServer], mon problème a disparu.