[C#]Hosting Process (vshost.exe)

简介:

写在前面

最近在群里,有朋友问起这个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 expression evaluation. The hosting process files contain vshost in the file name and are placed in the output folder of your project. For more information, seeDebugging and the Hosting Process.

宿主进程是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 Expression Evaluation

现在你可以不需要运行应用程序,就可以在 Immediate 窗口进行代码测试。

Partial Trust 调试

应用程序可以通过 Project Designer 的安全设置页面指定为一个Partial Trust应用,调试这类型的应用需要特别初始化应用域,而该初始化工作由vshost.exe来完成。

可以通过如下操作禁用该进程

参考文章

http://msdn.microsoft.com/en-US/library/ms185331(v=vs.80).aspx

博客地址: http://www.cnblogs.com/wolf-sun/
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4185673.html

相关文章
|
API C# Windows
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
本篇主要介绍一些与窗口句柄相关的一些API,比如设置窗口状态、当前激活的窗口、窗口客户区的大小、鼠标位置、禁用控件等,以及介绍Winform中的句柄属性,便于直接获取控件或窗体句柄,以及不推荐...
2326 0
C#实现操作Windows窗口句柄:常用窗口句柄相关API、Winform中句柄属性和Process的MainWindowHandle问题【窗口句柄总结之三】
|
Shell C#
C#使用Process打开外部程序或外部文件的使用总结
执行一个外部的第三方应用的原理,和调用cmd执行命令是一样的,只不过可以添加程序的启动参数(`StartInfo.Arguments`)等。调用第三方应用,在其启动后,关于程序的操作、处理、是否...
1622 0
C#使用Process打开外部程序或外部文件的使用总结
|
Java C#
C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0
原文 C#中通过Process启动的外部第三方程序MainWindowHandle句柄为0  前几天遇到了一个在C#的winform程序中,启动一个第三方jar程序,并修改jar运行窗体的标题的问题。
2117 0
|
程序员 C# 安全
c# Process类使用小例
  公司为了安全方面的考虑,对员工使用的window操作系统做了权限限制。如果我们想在自己使用的机器上安装额外的软件,就需要找系统管理员!感觉是相当的不爽啊!   但是为了我们这些程序员正常工作,允许我们用管理员的权限运行vs2010,这就为我们间接获得管理员权限安装自己想要的软件留下了后门。
705 0
|
IDE 开发工具 C++
C#.Net组件开发 - 使用Attach to Process实时调试设计器代码(转)
本文转载于:CS框架网http://www.csframework.com/archive/2/arc-2-20110829-1811.htm C#.Net组件开发 - 使用Attach to Process实时调试设计器代码 组件设计的调试对象为两个:一是我们关注的组件本身(Component/Control),二是组件的设计器(Component Designer/Control Designer)。
1025 0
|
C#
C# Process调用应用程序失败时应注意的问题
C#中如果采用Process调用应用程序失败,请添加下列第一行,设置应用程序所在的路径。                             Directory.SetCurrentDirectory([应用程序所在路径]);                    Process process = new Process();                    process.
1033 0
|
2月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
2月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。