web-dev-qa-db-fra.com

Comment corriger: Le gestionnaire "PageHandlerFactory-Integrated" a un mauvais module "ManagedPipelineHandler" dans sa liste de modules

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?

539
hspain

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)

941
hspain

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:

  1. 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.

  2. 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.

17
Nikita G.

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
9
Shah

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.

8
Shubham Gupta

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.

4
BornToCode

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.

3
Kent

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.

3
David Veksler

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

2
Willow

Pour résoudre ce problème sur un ordinateur Windows 8.1 Professional , procédez comme suit.

  1. Installez le programme d'installation Web Platform. http://www.Microsoft.com/web/downloads/platform.aspx

  2. 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).

2
PussInBoots

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

2
Ryan Burbidge

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.

1
svl

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.

1
user1255162
  1. lancer cmd

  2. glissez et déposez Aspnet_regiis.exe dans la commande Invite de:

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
    
  3. tapez -i (par exemple Aspnet_regiis.exe -i)

  4. appuyez sur entrer

  5. attendre la fin du processus

Bonne chance!

0
user11716116

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

0
sairfan

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é!

0
LarryBud

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é.

0
Jason Baginski

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

0
Thomas Bratt

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

entrez la description de l'image ici

0
Nabeel

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.

0
Wieslaw Olborski