495 Stimmen

Was ist der Zweck der Datei vshost.exe?

Wenn ich eine "Hello, World!"-Anwendung in C# erstelle und kompiliere, erhalte ich neben der Haupt-Exe (z. B. HelloWorld.exe) drei Dateien im Debug-Ordner

  1. HalloWelt.vshost.exe
  2. HalloWelt.pdb
  3. HalloWelt.vshost.exe.manifest

Welchem Zweck dienen diese Dateien?

419voto

Jon Skeet Punkte 1325502

Die Funktion vshost.exe wurde mit Visual Studio 2005 eingeführt (um Ihren Kommentar zu beantworten).

Der Zweck ist vor allem, das Debugging zu beschleunigen - im Grunde gibt es bereits einen Prozess mit dem Framework, der bereit ist, Ihre Anwendung zu laden, sobald Sie es wünschen.

Voir dieser MSDN-Artikel y dieser Blogbeitrag für weitere Informationen.

177voto

Daniel Brückner Punkte 57561
  • .exe - die "normale" ausführbare Datei

  • .vshost.exe - eine spezielle Version der ausführbaren Datei zur Unterstützung der Fehlersuche; siehe MSDN für Details

  • .pdb - die Programm-Datenbank mit Fehlersymbolen

  • .vshost.exe.manifest - eine Art von Konfigurationsdatei die hauptsächlich Abhängigkeiten von Bibliotheken enthalten

65voto

Will Eddins Punkte 13220

Die Datei vshost.exe ist die ausführbare Datei, die von Visual Studio ausgeführt wird (Visual Studio host executable). Dies ist die ausführbare Datei, die mit Visual Studio verknüpft ist und das Debugging verbessert.

Wenn Sie Ihre Anwendung an andere weitergeben, verwenden Sie nicht die Dateien vshost.exe oder .pdb (Debug-Datenbank).

25voto

SimplyInk Punkte 4548

Darüber hinaus können Sie die Erstellung von vshost-Dateien für Ihre Freigabe Build-Konfiguration und aktivieren Sie sie für Debuggen .

Schritte

  • Projekt-Eigenschaften > Debuggen > Konfiguration (Release) > Deaktivieren des Visual Studio-Hosting-Prozesses
  • Projekt-Eigenschaften > Debuggen > Konfiguration (Debug) > Aktivieren des Visual Studio-Hosting-Prozesses

Screenshot from VS2010

Referenz

  1. MSDN Anleitung: Deaktivieren des Hosting-Prozesses
  2. MSDN-Hosting-Prozess (vshost.exe)

Auszug aus MSDN How to: Deaktivieren des Hosting-Prozesses

Der Aufruf bestimmter APIs kann beeinträchtigt werden, wenn der Hosting-Prozess aktiviert ist. In diesen Fällen ist es notwendig, den Hosting-Prozess zu deaktivieren, um die richtigen Ergebnisse zu erhalten.

So deaktivieren Sie den Hosting-Prozess

  1. Öffnen Sie ein ausführbares Projekt in Visual Studio. Für Projekte, die keine ausführbaren Dateien erzeugen (z. B. Klassenbibliotheks- oder Serviceprojekte), steht diese Option nicht zur Verfügung.
  2. Auf der Projekt Menü, klicken Sie auf Eigenschaften .
  3. Klicken Sie auf die Debuggen tab.
  4. Löschen Sie die Aktivieren Sie den Visual Studio-Hosting-Prozess Kontrollkästchen.

Wenn der Hosting-Prozess deaktiviert ist, stehen mehrere Debugging-Funktionen nicht zur Verfügung oder sind weniger leistungsfähig. Für weitere Informationen siehe Fehlersuche und der Hosting-Prozess .

Im Allgemeinen wird der Hosting-Prozess deaktiviert:

  • Die Zeit, die benötigt wird, um mit dem Debugging von .NET Framework-Anwendungen zu beginnen, steigt.
  • Die Auswertung von Ausdrücken zur Entwurfszeit ist nicht verfügbar.
  • Partielles Trust-Debugging ist nicht verfügbar.

10voto

Brian Rasmussen Punkte 112118

Ich bin mir nicht sicher, aber ich glaube, es handelt sich um eine Optimierung der Fehlersuche. In der Regel schalte ich sie jedoch aus (siehe Debug-Eigenschaften für das Projekt) und ich bemerke keine Verlangsamung und sehe keine Einschränkungen beim Debuggen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X