プロセスのデバッグとホスト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. 次のセクションでは、ホスト プロセスがある場合とない場合のデバッグの違いについて説明します。The following sections describe some differences between debugging with and without the hosting process.

Note

Visual Studio 2017 では、ホスト プロセスを使用してデバッグするためのオプションは不要になったし、が削除されました。In Visual Studio 2017, the option to debug using the hosting process is no longer needed and has been removed. 詳細については、次を参照してください。デバッグ: Visual Studio 2017 の目的に速度を最低お気に入り職種します。For more information, see Debugging: Visual Studio 2017 Aims To Speed Up Your Least Favorite Job.

部分信頼のデバッグと 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. 詳細については、次を参照してください。方法: 部分信頼アプリケーションをデバッグします。For more information, see 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