宿主进程 vshost.exe
Hosting Process (vshost.exe)
宿主进程是VS的一个特性。可以提高调试的性能,可以进行部分信任调试(partial trust debugging),可以进行设计时表达式计算。宿主进程的文件名中包含vshost,宿主进程被放置在创建的项目的输出文件夹中。
更多内容,参见调试和宿主进程。
注意:宿主进程文件(.vshost.exe)是给VS用的,不应该直接运行或者和创建的应用程序一起部署。
1.提高调试的性能
宿主进程创建一个应用程序域( application domain)并且将调试器和应用程序相关联。在调试开始时和应用程序运行时,执行这些任务会有明显的延迟{没有宿主进程的话}。宿主进程会提高性能,这是因为在应用程序间创建应用程序域,并在后台关联调试器,保存了应用程序域和调试状态。更多关于应用程序域的信息,参见应用程序域。
2.部分信任调试
一个应用程序可以在项目设计(Project Designer)的安全页(Security Page)中被指定为部分信任的应用程序。调试一个部分信任的应用程序对应用程序域进行特殊的初始化。
3.设计时表达式计算
设计时表达式计算使得能够从即时窗体中进行调试而不用运行程序。宿主进程在设计时表达式计算时运行代码。更多信息,参见即时窗体。
How to: Disable the Hosting Process
在VS中启用宿主进程这个特性,对某些API的调用是有影响的。在这种情况下,需要禁用宿主进程特性,使API调用能够返回正确值。
禁用宿主进程
1.在VS中打开可执行项目。对于不可执行的项目是没有宿主进程这个选项的(比如类库项目,服务项目)。{Ps:我新建了一个类库项目,打开选项卡,发现也有这个选项。}
2.在项目菜单中,选择属性。
3.单击调试选项卡。
4.将允许使用VS宿主进程复选框清空。
备注:
禁用宿主进程,可能会使一些调试功能无法使用,性能下降。
一般可能的情况:
1.启动调试的时间增加。
2.设计时表达式计算不可用。
3.部分信任调试不可用。