2010-11-30 5 views
57

J'ai réussi à me mettre dans un état où je n'ai aucune instance de devenv en cours d'exécution, mais toujours un MyApp.vshost.exe en arrière-plan (pas de fenêtres ou consoles visibles)).Je ne peux pas tuer MyApp.vshost.exe

J'ai essayé TaskManager, ProcessExplorer et la ligne de commande (taskkill /F /IM MyApp.vshost.exe), aucun d'entre eux ne se plaignent, la ligne de commande dit même 'PID 5824 arrêté', mais il est toujours là. Je sais que je peux redémarrer, mais je préfère aller au fond des choses.

Il ne semble pas que ce soit ce problème (http://support.microsoft.com/kb/982551), parce que je peux redémarrer sans problème (juste en fait, donc ne sera pas en mesure de fournir d'autres diagnostics, désolé).

EDIT

Voilà comment je suis entré dans ce cornichon:

alt text

Répondre

21

Il semble être le comportement normal pour cette tâche. Lorsque vous le tuez, la tâche est redémarrée. Je vous conseille donc de fermer Visual Studio, qui ferme la tâche * .vshost.exe.

+2

Il dit qu'il n'a aucune instance de 'devenv.exe' (Visual Studio) en cours d'exécution ... – Donut

+1

Oui, VS n'est pas ouvert :) – Benjol

+0

Désolé, je n'ai pas vu ça. Donc, dans l'explorateur de processus, votre fichier * .vshost.exe n'a pas de processus parent? – Nicolas

1

J'ai rencontré le même problème en travaillant sur un projet avec .NET 2.0 comme framework cible. Le changement temporaire de l'infrastructure cible en client .NET 4.0 a fait l'affaire pour moi.

Cependant, je ne sais pas comment cela est (est-ce?) Lié au problème de verrouillage de fichier.

1

Peut-être que le même problème que décrit dans https://stackoverflow.com/a/1582747/254041 (processus en attente d'E/S):

L'arbitre MSDN API Says « TerminateProcess initie la terminaison et retourne immédiatement Ceci arrête l'exécution de tous les threads dans le processus et les demandes. annulation de toutes les E/S en attente Le processus terminé ne peut pas quitter tant que toutes les E/S en attente n'ont pas été terminées ou annulées. Ce qui signifie que: vos E/S peuvent bloquer ce processus (bien que je me demande comment cela peut amener votre processus à 100%, les E/S ne le font généralement pas).

81

j'ai pu tuer mon processus de vshost persistante en suivant ces étapes (VS2010):

  1. ouvrir les propriétés de mon projet exécutable
  2. dans l'onglet « Mise au point », décochez « Activer la processus d'hébergement Visual studio »
  3. enregistrer le fichier projet

ce fut, le processus est arrêté, et il n'y avait pas besoin de redémarrer visuel Studio.

+0

À propos du processus d'hébergement Visual Studio: http://stackoverflow.com/questions/2069940/what-is-the-purpose-of-the-visual-studio-hosting-process –

+4

enregistré un tonne de nerfs ... –

+1

Un autre moyen facile qui a fonctionné dans mon cas était de définir un projet différent comme le projet de démarrage. – Patrick

Questions connexes