写在前面
最近在群里,有朋友问起这个vshost.exe进程到底是什么?当时确实不知道是个什么东东,给人的感觉是,经常看到它,就是在启动一个项目的时候,经常看到它,就是没细研究它是啥玩意儿。既然遇到了,就不能放过,就要研究个一二。
vshost.exe
通过名字Hosting Process我们可以翻译为:宿主进程。
The hosting process is a feature in Visual Studio 2005 that improves debugging performance, enables partial trust debugging, and enables design time
宿主进程是vs2005中一个特性,用来提高调试效率,在设计时进行表达式运算和Partial-Trust调试。宿主进程文件以x.vshost.exe命名,并且存放在项目的输出目录中。例如:
Hosting process files (.vshost.exe) are for use by Visual Studio 2005 and should not be run directly or deployed with your application..
宿主进程文件(.vshost.exe)是vs2005使用的,不能脱离您的应用程序直接运行。
提高调试效率
宿主进程(vshost.exe)创建一个与当前应用调试器相关联的应用域(Application Domain),执行这个操作很明显将增加开始调试到应用程序启动之间的时间,但是宿主进程可以通过这个应用域来提高调试效率和在应用运行期间保存应用域和调试器的状态。
Design-Time
现在你可以不需要运行应用程序,就可以在 Immediate 窗口进行代码测试。
Partial Trust 调试
应用程序可以通过 Project Designer 的安全设置页面指定为一个Partial Trust应用,调试这类型的应用需要特别初始化应用域,而该初始化工作由vshost.exe来完成。
可以通过如下操作禁用该进程