J'utilise Visual Studio 2010 pour déboguer un projet asp.net MVC sur mon ordinateur local. Les étapes sont les suivantes:
Cliquez sur Debug et essayez de lancer le processus "w3wp.exe". Cependant, ce n'est pas dans la liste.
Je suis sûr que "Afficher les processus dans toutes les sessions" est cliqué.
w3wp.exe n'apparaîtra pas dans le processus en cours, sauf si une instance de l'application Web est en cours d'exécution.
Essayez d’accéder d’abord à votre page Web; lorsqu’elle s’affiche pour la première fois, essayez de joindre votre débogueur. Le processus devrait maintenant apparaître.
Vous devez cliquer sur Afficher les processus de tous les utilisateurs au bas de la liste du Gestionnaire des tâches. C'est ce que je devais faire.
Essayez de vérifier: "Afficher les processus pour tous les utilisateurs" Dans la fenêtre "Attacher au processus" en bas à gauche, une case à cocher "Afficher les processus pour tous les utilisateurs"
GoTo Web project properties -> Sélectionnez (Web) dans la barre latérale gauche -> GoTo sous l’entête (Servers) -> Cliquez pour afficher la liste et sélectionnez "Local IIS"
et appliquer. Ensuite, lorsque vous démarrez le débogage, vous verrez w3wp.exe dans la liste des processus.
Dans mon cas, je n'ai pas ouvert Visual Studio en mode Admin, c'est pourquoi le fichier w3wp.exe n'apparaissait pas dans la liste.
Lorsque j'ai ouvert Visual Studio en mode Admin, cela a fonctionné.
Faites un clic droit sur Visual Studio -> Ouvrir en mode administrateur.
Si vous utilisez quelque chose comme Advanced Rest Client pour tester les itinéraires, appelez à nouveau votre itinéraire, puis actualisez la liste des processus et celui-ci s'affichera
Dans mon cas, une fois que je reconstruis le projet Web et que je relève la limite de délai de connexion (en secondes), il apparaît automatiquement dans la liste Débogage/Attacher au processus et continue de fonctionner.
Je viens de rencontrer ce problème - vous voudrez peut-être aussi vérifier deux fois vos paramètres d’hôte et vérifier que vous êtes bien dirigé vers localhost et non vers un serveur de production.
J'oubliais que l'on me dirigeait vers un serveur distant. Ainsi, même si j'accédais au site, ce n'était pas du tout local, donc w3wp ne fonctionnait pas, malgré ma capacité de voir le site fonctionner.
Dans mon cas, je devais me connecter depuis un Visual Studio au processus s’exécutant depuis une autre fenêtre de VS Studio.
Le problème était le suivant: un VS a été lancé avec des autorisations d’administrateur. Pour résoudre ce problème, vous devez lancer les deux VS avec autorisation permanente.
Exécutez le débogueur distant en tant qu'administrateur . J'ai suivi toutes les suggestions pour résoudre le problème, mais ce n'est pas avant d'avoir exécuté le débogueur distant en tant qu'administrateur que j'ai pu voir le processus w3wp.
Sachez que même après avoir franchi toutes ces étapes (lancer une instance à l'aide d'un navigateur Web, démarrer votre session de débogage à distance en tant qu'administrateur, vérifier que l'option "Afficher tous les utilisateurs" est cochée, etc., afin de ne pas être sur un serveur ferme, etc.), vous pouvez parfois ne pas avoir de chance.
Il arrive parfois que le processus distant, généralement un service WCF dans mon cas, n'apparaisse tout simplement pas dans la liste des processus à associer, et que rien ne peut être fait à ce sujet. Je veille toujours à rendre mon processus cible facilement identifiable en le conservant et en le conservant uniquement dans un certain pool d'applications. Parfois, vous ne pouvez tout simplement pas y arriver d'ici. C’est sans doute la chose la plus frustrante à propos du débogage distant que Microsoft ait jamais réalisé.
Un moyen facile qui fonctionne, lorsque w3wp n'apparaît pas dans la liste, ouvrez un navigateur et écrivez localhost, puis entrez. Une fois que w3wp apparaît dans la liste.
Dans mon cas, le problème était que je n'exécutais pas Visual Studio en tant qu'administrateur. Ma machine avait redémarré après une mise à jour et relancé tous les processus en cours d'exécution, mais n'avait relancé que les VS en mode non-administrateur. Lorsque j'ai redémarré VS en mode administrateur, les processus w3wp.exe étaient à nouveau disponibles pour le débogage.
Je voudrais juste partager mon expérience aussi pour les futurs lecteurs.
Sachez que si vous avez une configuration de cluster de serveurs web (pour l’équilibrage de la charge, etc.), le processus w3wp
risque de ne pas démarrer sur le même ordinateur que celui auquel vous vous attendez.
À moins que votre site Web ne soit configuré pour s'exécuter uniquement sur une instance unique IIS, le processus w3wp
est peut-être en train de tourner sur l'une des autres machines de votre cluster Web.
Il peut s’agir d’une configuration défectueuse de la part de l’équipe/du service réseau ou du comportement souhaité. Je n'ai pas l'expérience nécessaire pour cerner exactement comment il devrait être configuré.
Trouvé une page connexe sur MSDN également:
Essayez les étapes suivantes:
Créez un chemin virtuel à partir de l'Explorateur de solutions.
Accédez à inetmgr pour confirmer que votre propre pool est créé.
Accédez au processus d'attachement (Ctrl + Alt + P) et affichez les processus pour tous les utilisateurs.
Ensuite, vous verrez que w3wp.exe sera là.