调试和宿主进程
更新: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,它将返回该应用程序名。