在构build中禁用* .vshost.exe和其他文件

我发现有关Microsoft Visual Studio“额外”文件的以下信息:

vshost.exe文件的用途是什么?

我的问题是,有没有办法,我不能让.pdb,.manifest和vshost.exe文件被制作? 或者他们是绝对必要的?

我刚刚注意到,在debugging之后,它仍然在我的机器上显示为一个正在运行的进程,自从我closures它之后,我感到担忧。

切换到释放configuration。 然后Project + Properties,Debug选项卡,取消选中“启用Visual Studio托pipe过程”选项。 Build + Clean,你可以删除剩下的东西,不会回来。 Release版本默认打开这个选项,可以说有点缺陷,但是可以保护。

托pipe过程是CLR的自定义托pipe版本。 到底它做了什么没有很好的logging,但是它与configuration主AppDomain的安全设置有关。 我从来没有听说有人抱怨没有它的战斗CAS的问题,但它是不寻常的closures它,你的应用程序几乎总是从IDEdebugging时完全信任运行。 如果您在早期版本的.NET上构buildnetworking共享,这一点很重要。 禁用它唯一明显的是,在GUI窗口中用Console.Write编写的任何内容都不会再出现在输出窗口中。 它与链接中高度回应的答案中声明的速度无关,因为VS和MSBuild使用它们,核心框架DLL已经驻留在RAM中。

最好的办法就是不要太担心。 安装和部署项目将忽略它。

关于vshost文件,至less在VS2010中:

  • 它们不是在构build时生成的,而是在构buildconfiguration的select(它将在我们首次select版本时在版本中生成)以及将“启用Visual Studio宿主过程”设置为true。 (由于configurationdebugging和该选项设置为true是默认值,vshost.exe将在bin / debug中创build,默认情况下打开VS与目标项目。
  • 它们不会在重build或清理项目时清除,只有在“启用Visual Studio宿主进程”时手动打开VS项目才会失败。 (开启这个项目不会再产生)

如果这个标志选项是真的,VS打开目标项目,这个文件不能被删除,因为正在使用。 一旦没有选中,vshost.exe可以立即删除。

简介:生成和删除这些文件与构build过程无关。

此外,我可能会添加该选项“启用Visual Studio宿主进程”被引用的项目是类库是不考虑的。 该选项仅适用于生成可执行文件的目标项目。