如何关闭所有Release版本的pdb生成和vshost

时间:2010-03-16 11:17:49

标签: .net visual-studio visual-studio-2008 visual-studio-2012

每次我开始一个新的软件时,我都要进入配置并关闭pdb文件生成和发布版本的Visual Studio托管过程。有没有办法告诉Visual Studio(特别是2008年)我想在剩下的时间里为所有项目做这件事吗?

3 个答案:

答案 0 :(得分:15)

经过一番挖掘,看来C#的项目文件存储在\program files\microsoft visual studio 9.0\common7\ide\projecttemplatescache\csharp\windows\1033中。通过将<UseVSHostingProcess>false</UseVSHostingProcess>添加到相关模板的正确部分(调试和发布配置的单独部分),您可以关闭所选类型的所有未来项目的托管过程。

您应该能够以类似的方式处理PDB问题,但正如我所说,我不建议将其关闭,所以我将其留作练习:)

这适用于VS2008,但我的猜测是其他版本也有类似的方案。实际上,VS2010使用相同的方法,但显然目录中的版本号是10.0而不是9.0。

答案 1 :(得分:11)

在VS 2010中,您将找到一个项目属性来控制项目属性下的.pdb生成 - &gt;构建 - &gt;高级... - &gt;调试信息

将此设置为“none”以抑制.pdb生成。

答案 2 :(得分:2)

为什么不添加删除这些您不想要的文件的帖子构建步骤。嗯,那还有一步,不是你想要的: - (

如何编写一个小助手应用程序来执行FindFirstFile和FindNextFile循环,在发布目录中查找PDB和shost文件。当它找到它们时,它会删除它们。或者更好的是仍然将它们移动到存档位置 - 这允许从发布包装问题中删除它们,但仍然保留文件以防您需要它们进行错误分析。

另外,因为它是一个帮助应用程序,您只需运行一次作为预交换的一部分即可释放员工。

我们将这种技术用于很多事情:

  • 确保DLL是最新的(基本上是整个构建树的智能更新)
  • 清理VC构建比“批量构建”更好(删除一些可能导致Visual Studio崩溃的文件)
  • 以特定方式存档某些内容(类似于我建议的内容)

我和Brian在一起 - 你应该保留这些文件。如果您需要调试任何错误或失败,您将需要这些文件。