VisualStudio 宿主进程的目的是什么?

在使用 VisualStudio 调试程序时,您可以选择 Enable the Visual Studio hosting process。这个选择的目的是什么? 它有什么效果?

26173 次浏览

在 MSDN: 调试和宿主过程中有解释。

来自 MSDN:

VisualStudio 宿主进程 提高调试器的性能和 启用新的调试器特性,如 部分信任的调试和 设计时表达式计算

MSDN 库没有提供关于“托管进程”的很好的信息。Eric 链接中列出的最后两个特性实际上是由该特性引起的问题。还有一个您迟早会遇到的问题: 它使用不同的 app.config 文件。活动的名称为 yourapp.vshost.exe.config。对文件进行手动更改时要注意这一点。

它支持的另一个特性在调试应用程序时非常明显,但在任何地方都没有提到,那就是 Console 生成的输出会发生什么。写()。在非控制台模式的应用程序中,它被重定向到 IDE 的 Output 窗口。非常有用。

术语“托管”指的是 CLR 的一个特性,它可以“托管”。自定义 CLR 主机的示例有 SQLServer 和 ASP.NET。托管允许在启动 CLR 之前对其进行配置。这种方法的一个主要用途是配置主 AppDomain 并设置自定义安全策略。这正是托管程序正在做的事情。

这个问题中有一个定制 CLR 主机的好例子。

长话短说: 在调试模式下,运行的是 CLR 的自定义版本,它可以改善调试体验。