正在创建的* .vshost.exe和其他文件,我发现有关Microsoft Visual Studio的“额外”的文件中的下列信息:禁止从构建
What is the purpose of the vshost.exe file?
我的问题是,是否有办法我无法生成.pdb,.manifest和vshost.exe文件?还是他们绝对必要?
我刚刚注意到,调试完成后,它仍然显示为我机器上的一个正在运行的进程,因为我已经关闭了它,所以很担心。
正在创建的* .vshost.exe和其他文件,我发现有关Microsoft Visual Studio的“额外”的文件中的下列信息:禁止从构建
What is the purpose of the vshost.exe file?
我的问题是,是否有办法我无法生成.pdb,.manifest和vshost.exe文件?还是他们绝对必要?
我刚刚注意到,调试完成后,它仍然显示为我机器上的一个正在运行的进程,因为我已经关闭了它,所以很担心。
切换到发布配置。然后Project + Properties,Debug选项卡,取消选中“启用Visual Studio托管过程”选项。 Build + Clean,你可以删除剩下的东西,它不会回来。 Release版本默认打开这个选项,可以说是一个缺陷,但是可以防御。
托管进程是CLR的自定义托管版本。它确实做了什么没有很好的记录,但它与配置主AppDomain的安全设置有关。我从来没有听说有人抱怨没有它的情况下与CAS进行对抗,但是当它从IDE进行调试时,将它关闭并且你的应用几乎总是以完全信任的方式运行是不常见的。如果您在早期版本的.NET上构建网络共享,这一点很重要。禁用它唯一明显的地方就是你在Gui风格的应用程序中用Console.Write编写的任何内容都不会再出现在输出窗口中。它与链接中高度优先的答案中声明的速度无关,因为VS和MSBuild使用它们,所以核心框架DLL已经驻留在RAM中。
最好的事情就是不要太担心。安装和部署项目将忽略它。
如果禁用“仅限内容的项目”的构建,将会很好。 – 2013-04-19 20:33:55
谢谢。我有一个项目从VS2008升级 - > VS2013拒绝读取app.config文件。然后我了解到它正在搜索未通过AppDomain.CurrentDomain.SetupInformation.ConfigurationFile生成的XXX.vshost.exe.config。所以我就像上面那样关掉它。然后,我不得不将我的app.config文件重命名为{projectName} .config,并将其放入bin文件夹,并最终运行。 – drzounds 2016-06-29 19:46:52
它看起来像“启用在Visual Studio宿主进程”选项不再出现在VS2017,看来,该项目运行的exe文件定义的,而不是vshost.exe。或许vshost是VS2017以前的事情? – HotN 2017-06-15 16:32:06
关于vshost文件,至少在VS2010:
如果此标志选项为真,并且VS打开了目标项目,则该文件无法在使用时删除。一旦未选中,vshost.exe可以立即删除。
摘要:生成和删除这些文件与构建过程无关。
此外,我可能会添加该选项“启用Visual Studio宿主进程”在被引用的项目是类库是不考虑。该选项仅适用于生成可执行文件的目标项目。
在我看来,你真的不明白他在帖子中说的话。需要使用.vshost来快速启动调试会话。完全不用担心。 – Steve 2012-03-01 10:24:14
但我还发现vshost.exe正在运行双 – gumuruh 2014-04-03 06:42:12