Share via


Debuggen und der Hostprozess

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

Thema ist vorhanden Thema ist vorhanden Thema ist vorhanden Thema ist vorhanden Thema ist vorhanden

Pro, Premium und Ultimate

Thema ist vorhanden Thema ist vorhanden Thema ist vorhanden Thema ist vorhanden Thema ist vorhanden

Der Visual Studio-Hostprozess verbessert die Debugleistung und ermöglicht neue Debuggerfeatures, z. B. das Debuggen von teilweise vertrauenswürdigen Anwendungen und die Ausdrucksauswertung zur Entwurfszeit. Falls erforderlich, können Sie den Hostprozess deaktivieren. Weitere Informationen finden Sie unter Gewusst wie: Deaktivieren des Hostprozesses. In den folgenden Abschnitten werden einige der Unterschiede beschrieben, die zwischen dem Debuggen mit und ohne den Hostprozess bestehen.

Debuggen teilweise vertrauenswürdiger Anwendungen und ClickOnce-Sicherheit

Zum Debuggen teilweise vertrauenswürdiger Anwendungen ist der Hostprozess erforderlich. Wenn Sie den Hostprozess deaktivieren, ist das Debuggen teilweise vertrauenswürdiger Anwendungen nicht möglich, selbst wenn auf der Sicherheitsseite der Projekteigenschaften die Sicherheit bei teilweiser Vertrauenswürdigkeit aktiviert wurde. Weitere Informationen finden Sie unter Gewusst wie: Deaktivieren des Hostprozesses und Gewusst wie: Debuggen einer teilweise vertrauenswürdigen Anwendung.

Ausdrucksauswertung zur Entwurfszeit

Bei der Ausdrucksauswertung zur Entwurfszeit wird stets auf den Hostprozess zugegriffen. Wird der Hostprozess in den Projekteigenschaften deaktiviert, so wird damit auch die Ausdrucksauswertung zur Entwurfszeit für Klassenbibliotheksprojekte deaktiviert. Für die anderen Projekttypen steht die Ausdrucksauswertung zur Entwurfszeit weiterhin zur Verfügung. Visual Studio startet stattdessen die eigentliche ausführbare Datei und verwendet diese zur Evaluierung während der Entwurfszeit, ohne auf den Hostprozess zuzugreifen. Dies führt möglicherweise zu abweichenden Ergebnissen.

Unterschiede bezüglich "AppDomain.CurrentDomain.FriendlyName"

Abhängig davon, ob der Hostprozess aktiviert ist oder nicht, liefert AppDomain.CurrentDomain.FriendlyName unterschiedliche Ergebnisse. Wenn Sie AppDomain.CurrentDomain.FriendlyName bei aktiviertem Hostprozess aufrufen, wird app_name.vhost.exe zurückgegeben. Erfolgt der Aufruf bei deaktiviertem Hostprozess, wird app_name.exe zurückgegeben.

Unterschiede bezüglich "Assembly.GetCallingAssembly().FullName"

Abhängig davon, ob der Hostprozess aktiviert ist oder nicht, liefert Assembly.GetCallingAssembly().FullName unterschiedliche Ergebnisse. Wenn Sie Assembly.GetCallingAssembly().FullName bei aktiviertem Hostprozess aufrufen, wird mscorlib zurückgegeben. Wird Assembly.GetCallingAssembly().FullName bei deaktiviertem Hostprozess aufgerufen, wird der Anwendungsname zurückgegeben.

Siehe auch

Aufgaben

Gewusst wie: Debuggen einer teilweise vertrauenswürdigen Anwendung

Konzepte

Hostprozess (vshost.exe)

Gewusst wie: Deaktivieren des Hostprozesses