2010-11-30 7 views
57

töten Ich habe es geschafft, mich in einem Zustand, in dem ich keine Instanzen von Devenv ausgeführt habe, aber immer noch eine MyApp.vshost.exe im Hintergrund (keine sichtbaren Fenster oder Konsolen).Ich kann MyApp.vshost.exe nicht

Ich habe versucht, TaskManager, ProcessExplorer und Befehlszeile (taskkill /F /IM MyApp.vshost.exe), keiner von ihnen beschweren, sagt die Befehlszeile sogar "PID 5824 gestoppt", aber es ist immer noch da.

Ich weiß, ich kann neu starten, aber ich würde lieber auf den Grund gehen.

Es sieht nicht wie es dieses Problem (http://support.microsoft.com/kb/982551) ist, weil ich kein Problem neu starten kann (müssen nur in der Tat, so wird keine weitere Diagnostik zur Verfügung zu stellen nicht, sorry der Lage sein).

EDIT

Dies ist, wie ich in diese Gurke bekam:

alt text

Antwort

21

Es scheint für diese Aufgabe das normale Verhalten zu sein. Wenn Sie es beenden, wird die Aufgabe neu gestartet. So rate ich Ihnen, Visual Studio zu schließen, die die * .vshost.exe Aufgabe schließt.

+2

Er sagt, er hat keine Instanzen von 'devenv.exe' (Visual Studio) läuft ... – Donut

+1

Ja, VS ist nicht geöffnet :) – Benjol

+0

Sorry, das habe ich nicht gesehen. Also in Process Explorer, Ihre * .vshost.exe hat keinen übergeordneten Prozess? – Nicolas

1

Ich hatte das gleiche Problem bei der Arbeit an einem Projekt mit .NET 2.0 als Zielframework. Temporäre Änderung des Ziel-Framework zu .NET 4.0 Client hat die Aufgabe für mich erledigt.

Ich bin mir jedoch nicht sicher, wie dies mit dem Problem der Dateisperrung zusammenhängt (oder?).

1

Vielleicht ist das das gleiche Problem wie in https://stackoverflow.com/a/1582747/254041 (anhängige I/O-Prozesse) beschrieben:

Die MSDN API ref sagt „TerminateProcess initiiert Beendigung und kehrt sofort Dies stoppt die Ausführung aller Threads innerhalb des Prozesses und Anfragen. Abbruch aller anstehenden E/A. Der beendete Prozess kann erst beendet werden, wenn alle ausstehenden E/A abgeschlossen oder abgebrochen wurden. ". Was bedeutet soviel wie: Ihre I/O kann diesen Prozess blockieren (obwohl ich mich frage, wie es Ihren Prozess zu 100% bringen kann, macht I/O das normalerweise nicht).

81

konnte ich meine persistent vshost Prozess töten, indem Sie folgende Schritte ausführen (VS2010):

  1. die Eigenschaften meines ausführbaren Projekt öffnen
  2. in der "Debug" Registerkarte, deaktivieren Sie „Aktivieren der Visual Studio-Hosting-Prozess“
  3. speichert die Projektdatei

das war, hielt der Prozess, und es gab keine Notwendigkeit von Visual neu zu starten Studio.

+0

Über den Visual Studio-Hosting-Prozess: http://StackOverflow.com/Questions/2069940/what-ist-the-purpose-of-the-visual-studio-hosting-process –

+4

gespeichert a nervenstark ... –

+1

Ein anderer einfacher Weg, der in meinem Fall funktionierte, war, ein anderes Projekt als Startup-Projekt festzulegen. – Patrick