禁用在构建时创建* .vshost.exe和其他文件

时间:2012-03-01 09:10:45

标签: visual-studio-2010 build build-process

我找到了有关Microsoft Visual Studio“额外”文件的以下信息:

What is the purpose of the vshost.exe file?

我的问题是,有没有办法让我无法生成.pdb,.manifest和vshost.exe文件?或者他们绝对必要吗?

我只是注意到在调试之后,它仍然在我的机器中显示为一个正在运行的进程,因为我已经关闭它所以让我担心。

2 个答案:

答案 0 :(得分:60)

切换到发布配置。然后单击Project + Properties,Debug选项卡,取消选中“启用Visual Studio宿主进程”选项。 Build + Clean,你可以删除任何剩下的东西,它不会回来。对于Release版本,默认情况下启用此选项可能是一个缺陷但是可辩护的。

托管过程是CLR的自定义托管版本。它的确切功能没有详细记录,但它与配置主AppDomain的安全设置有关。我从来没有听过有人抱怨没有它就能解决CAS问题,但是关闭它是不常见的,你的应用程序几乎总是在从IDE调试时完全信任。如果您在早期版本的.NET上构建网络共享,那将很重要。禁用它唯一明显的事情是你在gui风格的应用程序中使用Console.Write编写的任何内容都将不再出现在“输出”窗口中。它与链接中高度支持的答案所声称的速度无关,核心框架DLL已经驻留在RAM中,因为VS和MSBuild使用它们。

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

答案 1 :(得分:1)

关于vshost文件,至少在VS2010中是这样的:

  • 它们不是在构建时生成的,而是在选择构建配置时生成的(它将在我们第一次选择发布时在发布中生成)和设置"启用Visual Studio托管过程"为真。 (由于配置调试和此选项设置为true是默认值,默认情况下,在使用目标项目打开VS时,将在bin / debug中创建vshost.exe。)
  • 在重建或清理项目时不会清除它们,但只能在"启用Visual Studio托管过程时手动清除#34;如果VS与该项目打开,则为false。 (打开这个项目时,它不再生成。)

如果此标志选项为true且打开了带目标项目的VS,则无法删除此文件。一旦取消选中,就可以立即删除vshost.exe。

摘要:生成和删除这些文件与构建过程无关。

另外,我可以添加该选项"启用Visual Studio托管过程"在引用的项目中,不考虑类库。此选项仅适用于生成可执行文件的目标项目。