调试和承载进程

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)

如何:禁用承载进程