调试和宿主进程

更新:2007 年 11 月

Visual Studio 宿主进程提高了调试器性能,并启用了新的调试器功能,如部分信任调试和设计时表达式计算。如果需要,您可以禁用宿主进程。有关更多信息,请参见 如何:禁用宿主进程。以下部分描述用宿主进程和不用宿主进程进行调试的一些差异。

部分信任调试和 Click-Once 安全

部分信任调试需要宿主进程。如果禁用宿主进程,部分信任调试将不工作,即使在“项目属性”的“安全”页上启用了部分信任安全。有关更多信息,请参见 如何:禁用宿主进程如何:调试部分信任的应用程序

设计时表达式计算

设计时表达式始终使用宿主进程。如果在“项目属性”中禁用宿主进程,则禁用了类库项目的设计时表达式计算。对于其他项目类型,不禁用设计时表达式计算。相反,Visual Studio 启动实际可执行文件,并将它用于不用宿主进程的设计时计算。这种差异可能产生不同的结果。

AppDomain.CurrentDomain.FriendlyName 差异

AppDomain.CurrentDomain.FriendlyName 依据是否启用宿主进程返回不同的结果。如果在启用宿主进程的情况下调用 AppDomain.CurrentDomain.FriendlyName,它将返回 应用程序名称.vhost.exe。如果在禁用宿主进程的情况下调用它,它将返回 应用程序名称.exe。

Assembly.GetCallingAssembly().FullName 差异

Assembly.GetCallingAssembly().FullName 依据是否启用宿主进程返回不同的结果。如果启用宿主进程时调用 Assembly.GetCallingAssembly().FullName,它将返回 mscorlib。如果禁用宿主进程时调用 Assembly.GetCallingAssembly().FullName,它将返回该应用程序名。

请参见

任务

如何:调试部分信任的应用程序

概念

宿主进程 (vshost.exe)

如何:禁用宿主进程