如何避免在TFS 2012构建结果中拥有(或删除)PDB文件

时间:2013-01-16 17:59:58

标签: xaml tfsbuild tfs2012

从Visual Sturdio 2012(和TFS 2012服务器)使用DefaultTemplate时,PDB文件包含在构建目录中。我不想要他们。

有没有办法在构建过程中不生成这些文件?

如何删除这些文件?

found this thread关于删除但看起来有点奇怪(没有删除活动?) 还有this answer但不涉及XAML模板。

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:6)

PDB文件保存代码的调试信息,不建议禁用它们,它们是有效输出,因此部署不应该弄乱它们。 您可以在Visual Studio项目属性>中禁用它们的生成。构建>高级>调试信息=无。 如果你绝对希望它们消失,那么禁用它们以进行构建特定配置(重新等)

答案 1 :(得分:5)

默认情况下,构建服务器执行解决方案(sln)告诉它的任何内容。默认情况下是执行“调试”构建并创建PDB。您可以告诉Build执行“Release”构建,默认情况下不会创建任何PDB ...

Adding a Build Configuration 图:添加构建配置

然而,我建议不要这样做,因为PDB包含即使在生产系统中也需要的信息。请考虑一下您在生产中有DLL并且客户遇到问题。您可以让他们创建一个InteliTrace日志,以便您可以在本地进行调试(或者让他们在您的环境中进行调试),然后突然您尝试在没有Visual Studio理解可执行文件和源代码之间关系的情况下进行调试。所以没有调试...

答案 2 :(得分:2)

由于我无法找到禁用PDB文件生成的构建选项,因此我之后将其删除。

删除文件没有简单的方法。我做了:

  1. 使用带有通配符* .pdb的FindMatchingFiles Activity,返回 pdb文件的完整路径
  2. 使用Foreach循环
  3. 带有InvokeMethod活动的每个文件循环中的
  4. call a DotNet method, 目标类型为System.IO.File,方法为“删除”

答案 3 :(得分:2)

在之前的版本中(Visual Studio 2010) 当我们构建 / release 时,它没有生成PDB,当我们只使用 / debug:full / debug:pdbonly ,如果我们想要为我们不想调试的版本构建生成PDB,我们使用 / debug:pdbonly

在Visual Studio 2012中不是这种情况,我检查了它,发现它在两者中生成了PDB, / debug / release

Visuals Studio 2012没有文档。