Antworten:
Die Funktion vshost.exe wurde mit Visual Studio 2005 eingeführt (um Ihren Kommentar zu beantworten).
Der Zweck besteht hauptsächlich darin, den Start des Debuggens zu beschleunigen. Grundsätzlich läuft bereits ein Prozess mit dem Framework, der gerade bereit ist, Ihre Anwendung zu laden, sobald Sie dies wünschen.
Weitere Informationen finden Sie in diesem MSDN-Artikel und in diesem Blogbeitrag .
.exe - die 'normale' ausführbare Datei
.vshost.exe - eine spezielle Version der ausführbaren Datei zur Unterstützung des Debuggens; Einzelheiten finden Sie unter MSDN
.pdb - die Programmdatenbank mit Debug-Symbolen
.vshost.exe.manifest - eine Art Konfigurationsdatei, die hauptsächlich Abhängigkeiten von Bibliotheken enthält
Die Datei vshost.exe ist die ausführbare Datei, die von Visual Studio ausgeführt wird (ausführbare Datei des Visual Studio-Hosts). Dies ist die ausführbare Datei, die eine Verknüpfung zu Visual Studio herstellt und das Debuggen verbessert.
Wenn Sie Ihre Anwendung an andere verteilen, verwenden Sie nicht die Dateien vshost.exe oder .pdb (Debug-Datenbank).
Hinzufügen, können Sie die Erstellung von vshost - Dateien für Ihre ausschalten Veröffentlichung Build - Konfiguration und haben es für aktivierte Debug .
Schritte
Referenz
Auszug aus MSDN Gewusst wie: Deaktivieren Sie den Hosting-Prozess
Aufrufe bestimmter APIs können betroffen sein, wenn der Hosting-Prozess aktiviert ist. In diesen Fällen muss der Hosting-Prozess deaktiviert werden, um die korrekten Ergebnisse zurückzugeben.
So deaktivieren Sie den Hosting-Prozess
Wenn der Hosting-Prozess deaktiviert ist, sind mehrere Debugging-Funktionen nicht verfügbar oder es tritt eine Leistungsminderung auf. Weitere Informationen finden Sie unter Debuggen und Hosting .
Im Allgemeinen, wenn der Hosting-Prozess deaktiviert ist:
- Die Zeit, die zum Debuggen von .NET Framework-Anwendungen benötigt wird, nimmt zu.
- Die Auswertung des Ausdrucks zur Entwurfszeit ist nicht verfügbar.
- Teilweises Vertrauens-Debugging ist nicht verfügbar.
Ich bin mir nicht sicher, aber ich glaube, es ist eine Debugging-Optimierung. Normalerweise deaktiviere ich es jedoch (siehe Debug-Eigenschaften für das Projekt) und bemerke keine Verlangsamung und sehe keine Einschränkungen beim Debuggen.
Es scheint ein langjähriger Framework-Prozess zum Debuggen zu sein (um die Ladezeiten zu verkürzen?). Ich habe festgestellt, dass beim zweimaligen Starten Ihrer Anwendung über den Debugger häufig derselbe Prozess vshost.exe verwendet wird. Es werden nur zuerst alle vom Benutzer geladenen DLLs entladen. Dies macht seltsame Dinge, wenn Sie mit API-Hooks von verwalteten Prozessen herumalbern.