プロセスのデバッグとホストDebugging and the Hosting Process

Visual Studio のホスト プロセスでは、デバッガーのパフォーマンスを向上させ、部分信頼のデバッグやデザイン時の式の評価など、新しいデバッガー機能が使用できるようになりました。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. 詳細については、「 How to: Disable the Hosting Process」を参照してください。For more information, see How to: Disable the Hosting Process. 次のセクションでは、ホスト プロセスがある場合とない場合のデバッグの違いについて説明します。The following sections describe some differences between debugging with and without the hosting process.

部分信頼のデバッグと ClickOnce のセキュリティ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. 詳細については、次のトピックを参照してください。 How to: Disable the Hosting Process および How to: Debug a Partial Trust Application.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. 代わりに、Visual Studio で実際の実行可能ファイルが起動され、ホスト プロセスを使用せずにデザイン時の評価に使用されます。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 の違いAppDomain.CurrentDomain.FriendlyName Differences

AppDomain.CurrentDomain.FriendlyName は、ホスト プロセスが有効かどうかによって異なる結果を返します。AppDomain.CurrentDomain.FriendlyName returns different results depending on whether the hosting process is enabled. ホスト プロセスを有効にして AppDomain.CurrentDomain.FriendlyName を呼び出すと、 app_name.vhost.exeが返されます。If you call AppDomain.CurrentDomain.FriendlyName with the hosting process enabled, it returns app_name.vhost.exe. ホスト プロセスを無効にして呼び出した場合は、 app_name.exeが返されます。If you call it the hosting process disabled, it returns app_name.exe.

Assembly.GetCallingAssembly().FullName の違いAssembly.GetCallingAssembly().FullName Differences

Assembly.GetCallingAssembly().FullName は、ホスト プロセスが有効かどうかによって異なる結果を返します。Assembly.GetCallingAssembly().FullName returns different results depending on whether the hosting process is enabled. ホスト プロセスを有効にして Assembly.GetCallingAssembly().FullName を呼び出すと、 mscorlibが返されます。If you call Assembly.GetCallingAssembly().FullName with the hosting process enabled, it returns mscorlib. ホスト プロセスを無効にして Assembly.GetCallingAssembly().FullName を呼び出すと、アプリケーション名が返されます。If you call Assembly.GetCallingAssembly().FullName with the hosting process disabled, it returns the application name.

関連項目See Also

ホスト プロセス (vshost.exe) Hosting Process (vshost.exe)
方法: 部分信頼アプリケーションのデバッグ How to: Debug a Partial Trust Application
方法 : ホスト プロセスを無効にするHow to: Disable the Hosting Process