33

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

4

3 回答 3

18

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

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

这适用于 VS2008,但我猜其他版本也有类似的方案。其实VS2010也是采用了同样的做法,只不过目录中的版本号明显是10.0而不是9.0。

于 2010-03-16T12:54:22.427 回答
15

在 VS 2010 中,您将在 Project Properties -> Build -> Advanced... -> Debug Info 下找到一个项目属性来控制 .pdb 生成

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

于 2013-04-10T11:10:39.170 回答
3

为什么不添加一个后期构建步骤来删除这些您不想要的文件。嗯,这又是一步,不是你想要的:-(

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

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

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

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

我和布赖恩在一起——你应该保留这些文件。如果您需要调试任何错误或故障,您将需要这些文件。

于 2010-03-16T11:56:44.120 回答