web-dev-qa-db-fra.com

Le débogage d'une application MVC dans VS2012 tente de démarrer IIS Express deux fois

UPDATE

Je suis certain qu'il s'agit d'un bogue de Visual Studio sans solution évidente. J'ai rencontré un certain nombre de personnes qui ont exactement le même problème. J'ai soumis un ticket de bogue avec Microsoft ici:

http://connect.Microsoft.com/VisualStudio/feedback/details/778864/vs2012-is-spawning-two-iisexex-processes-when-attempting-to-debug

Si vous rencontrez le même problème que décrit ci-dessous, please, votez pour le ticket de bogue afin qu'il reçoive plus d'attention.


Chaque fois que j'essaie de déboguer une application MVC3 (ou MVC4) dans Visual Studio 2012 configurée pour s'exécuter sur IIS express (version 8), le message d'erreur suivant s'affiche:

enter image description here

Voici le kicker: IIS Express démarre même si Visual Studio ne le pense pas et que le débogueur ne parvient pas à se joindre. Le IIS Express Tray s'ouvre et je peux voir clairement que tous les sites Web configurés sont démarrés:

enter image description here

Curieusement, la IIS Express System Tray indique des erreurs lors de l'exécution de IIS Express. Voici ce qu'il dit:

enter image description here

C'est un WTF sérieux. Il indique que 8080 est utilisé par un IIS Express Process, processus qui était just démarré par Visual Studio. Donc, Visual Studio tente de lancer IIS deux fois et, lorsque cela échoue de manière prévisible, le débogueur échoue. Je devrais noter qu'avant de lancer la configuration de débogage dans Visual Studio, je m'étais assuré que absolument sûr aucun IIS, les processus Express ne fonctionnaient déjà. J'ai utilisé Process Monitor pour vérifier que Visual Studio tente en réalité de lancer deux fois IIS Express:

enter image description here

Notez que dans la capture d'écran ci-dessus, vous voyez clairement les sites Web fonctionnant sur IIS Express PID 4732. Le PID 4924 est la deuxième tentative de lancement infructueuse de IIS Express.

Ce problème se produisait initialement sur une installation Windows 7. J'ai complètement reformaté, installé une nouvelle copie de VS2012 et obtenu le même problème. Je suis allé plus loin et j'ai reformaté, installé Windows 8 et une nouvelle copie de VS2012, et le problème persiste. 

J'ai créé de nouveaux projets vierges MVC3 et MVC4. Rien ne le répare.

Je m'arrache les cheveux ici. Toute aide serait grandement appréciée.

29
w.brian

w.Brian, je suis ce message depuis le début et j'ai le même problème depuis un certain temps déjà et je viens de découvrir ce qui le cause pour moi. J'ai pu reproduire et corriger l'erreur moi-même avec ceci:

La raison pour laquelle VS2012 démarre iis express deux fois est liée au fait d'être attaché à un domaine et d'être connecté à un compte de domaine. Une fois connecté à un compte d'administrateur complètement local, j'ai pu lancer et déboguer une application MVC4 sans aucun problème. Ceci utilise Windows 8 Pro, VS2012 Update 1, attaché à mon domaine, et aucun autre logiciel/extension/configuration. Installation complètement propre.

8
Ben Guenter

Bonjour, peut-être que ces solutions pourraient vous aider. 

  • Gérer RuntimeVersion = "4.0" à "4.0.30319"

Exemple:

<applicationPools>
<add name=”Clr4IntegratedAppPool” managedRuntimeVersion=”v4.0.30319″ managedPipelineMode=”Integrated”     CLRConfigFile=”%IIS_USER_HOME%\config\aspnet.config” autoStart=”true” /><br/><br/>

référence: Problème: Visual Studio 2012> “Impossible de lancer le serveur IIS Express Web”

Sous l'élément /, commentez la ligne

<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />

Sous l'élément //, commentez la ligne

<add name="HttpLoggingModule" lockItem="true" /> 

Après avoir enregistré vos modifications, essayez de redémarrer iis express.



référence: du forum stackoverflow: Impossible de lancer le serveur IIS Express Web

5
bot

Faites un clic droit sur votre projet MVC/* tous les uns après les autres * /
aller aux propriétés
aller à l'onglet Web
vous devez avoir coché la case d'option "Utiliser local IIS serveur Web"
dans la zone de texte ci-dessous, assurez-vous qu'aucun projet n'a le même port qui, dans votre cas, est 8080

4
Parv Sharma

Regardez la réponse ici:

http://forums.asp.net/t/1953087.aspx?VS+2013+Unable+to+launch+the+IIS+Express+Web+Server

C'était un comportement étrange sur une machine Windows 8 quand 'bg' faisait partie du nom d'utilisateur

3
tony

Juste au cas où, avez-vous 127.0.0.1 localhost défini dans folder / system32/drivers/stc/hosts? Sinon, vous pouvez vérifier ici , cela pourrait bien être la clé.

À votre santé

2
g00dy
2
Barrie Reader

Cette semaine, j'ai rencontré le même problème: IIS Express démarre, mais VS se plaint de l'impossibilité de démarrer IIS Express et le débogage échouent.

J'ai finalement résolu le problème en appliquant le correctif logiciel de juin 2014 à IIS Express:

Nous (mon support informatique et moi-même) avons trouvé ce correctif après avoir trébuché sur un problème très improbable. Apparemment, MS a vérifié un bogue dans IISExpress 8.0, ce qui l’avait mal conduit si une partie du nom de l’application contenait la combinaison de lettres "bg" (mon nom d’utilisateur commence par bg):

Remarque: VS 2013 Update 4 contient déjà ce correctif, ce qui explique peut-être pourquoi certaines personnes ont eu du succès simplement en mettant à jour VS 2013.

Quelques autres liens que nous avons trouvés concernant le problème (vous devrez peut-être parcourir un peu pour trouver le sujet):

1
Griffin

Ce qui a bien fonctionné dans ma situation a été de décharger le projet, puis de modifier le fichier csproj. J'ai supprimé toutes les sections concernant IIS et IISEXPRESS. Ensuite, j'ai rechargé le projet et choisi de nouveau USE IIS EXPRESS parmi les propriétés du projet. Cela a ensuite fonctionné.

1
BornToCode

J'ai eu le même problème sur Windows 8 et Windows 8.1 en utilisant mon compte de domaine. Dans mon cas, changer le chemin du dossier Documents (clic droit sur le dossier Documents -> Propriétés -> Emplacement) depuis C:\Utilisateurs\nom d'utilisateur\Documents en D:\Documents aidé

1
bgw

Il y a deux instances du site FrontEnd en cours d'exécution, mais notez qu'une instance est HTTP et l'autre HTTPS.

Il est possible d'obtenir deux instances lorsque SSL Enabled est défini sur True dans les propriétés du site Web mais que Project Url de l'onglet Web est défini sur une adresse HTTP.

Faites-les tous les deux HTTP (ou HTTPS) et cela pourrait résoudre le problème.

0
Stuart Hallows

J'ai rencontré un problème identique aujourd'hui (IISExpress essaie de démarrer deux fois et échoue lors de l'utilisation de Debug dans Visual Studio) tout en aidant un autre développeur avec un site de formulaires Web. Après avoir essayé plusieurs solutions, nous avons constaté que nous pouvions résoudre le problème en:

  • Création d'une nouvelle solution Visual Studio vide
  • Ajout d'un "site Web existant" pointant vers un nouveau dossier vide
  • Copier le contenu du site Web existant (non fonctionnel) dans le nouveau dossier que nous avons créé

Supprimer simplement le site Web et l'ajouter de nouveau à la solution d'origine ne fonctionnait pas, pas plus que la création d'une nouvelle solution et l'ajout du site existant. Je peux très bien démarrer IISExpress à partir de la ligne de commande.

Après avoir fait une comparaison avant-après des fichiers .SLN, je pense que c’est là que réside le problème. Depuis que j'ai trouvé une solution de contournement, je n'ai pas passé beaucoup de temps supplémentaire dessus. Il est évident que recréer l’ensemble de la solution à partir de zéro n’est peut-être pas une option pour les grands projets (le nôtre était très petit) mais nous espérons au moins que cela va dans la bonne direction.

0
DVK