调试和承载进程
本主题适用于:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
学习版 |
|||||
专业版、高级专业版和旗舰版 |
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,它将返回该应用程序名。