web-dev-qa-db-fra.com

Je ne peux pas tuer MyApp.vshost.exe

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 de consoles visibles).

J'ai essayé TaskManager, ProcessExplorer et la ligne de commande (taskkill /F /IM MyApp.vshost.exe), aucun d'eux ne se plaint, 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 ), car je ne peux redémarrer aucun problème (juste en fait, donc je ne pourrai pas pour fournir d'autres diagnostics, désolé).

[~ # ~] modifier [~ # ~]

Voici comment je suis entré dans ce cornichon:

alt text

59
Benjol

J'ai pu tuer mon processus vshost persistant en suivant ces étapes (VS2010):

  1. ouvrir les propriétés de mon projet exécutable
  2. dans l'onglet "Débogage", décochez "Activer le processus d'hébergement Visual Studio"
  3. enregistrez le fichier de projet

C'est tout, le processus s'est arrêté et il n'a pas été nécessaire de redémarrer Visual Studio.

89
Eat at Joes

Il semble que ce soit le comportement normal de 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.

21
Nicolas

J'ai eu le même problème en travaillant sur un projet avec .NET 2.0 comme framework cible. Changer temporairement le framework cible en client .NET 4.0 a fait le travail pour moi.

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

1
binary101010

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

MSDN API ref indique "TerminateProcess initie la terminaison et retourne immédiatement. Cela arrête l'exécution de tous les threads du processus et demande l'annulation de toutes les E/S en attente. Le processus terminé ne peut pas se terminer tant que toutes les E/S en attente a été achevée ou annulée. ". 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).

1
habakuk