Debugging and the Hosting Process
This article applies to Visual Studio 2015. If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2017. Download it here.
The Visual Studio hosting process improves debugger performance and enables new debugger features, such as partial-trust debugging and design-time expression evaluation. You can disable the hosting process if you need to. For more information, see How to: Disable the Hosting Process. The following sections describe some differences between debugging with and without the hosting process.
Partial-Trust Debugging and Click-Once Security
Partial-trust debugging requires the hosting process. If you disable the hosting process, partial-trust debugging will not work even if partial-trust security is enabled on the Security page of Project Properties. For more information, see How to: Disable the Hosting Process and How to: Debug a Partial Trust Application.
Design-Time Expression Evaluation
Design-time expression always uses the hosting process. Disabling the hosting process in the Project Properties disables design-time expression evaluation for Class Library projects. For other project types, design-time expression evaluation is not disabled. Instead, Visual Studio starts the actual executable and uses it for design-time evaluation without the hosting process. This difference could produce different results.
AppDomain.CurrentDomain.FriendlyName returns different results depending on whether the hosting process is enabled. If you call
AppDomain.CurrentDomain.FriendlyName with the hosting process enabled, it returns app_name
.vhost.exe. If you call it the hosting process disabled, it returns app_name
Assembly.GetCallingAssembly().FullName returns different results depending on whether the hosting process is enabled. If you call
Assembly.GetCallingAssembly().FullName with the hosting process enabled, it returns
mscorlib. If you call
Assembly.GetCallingAssembly().FullName with the hosting process disabled, it returns the application name.