3

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

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

或者

我怎样才能删除这些文件?

发现这个关于删除的线程,但似乎有点奇怪(没有删除活动?)也有这个答案,但不涉及 XAML 模板。

在此先感谢您的帮助。

4

4 回答 4

6

PDB 文件包含有关您的代码的调试信息,不建议禁用它们,它们是有效的输出,因此部署不应该弄乱它们。您可以在 Visual Studio 项目 Properties> Build > Advanced > Debug Info = none 中禁用它们的生成。如果您绝对希望它们消失,请禁用它们以构建特定配置(发布等)

于 2013-01-17T12:36:50.040 回答
5

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

添加构建配置 图:添加构建配置

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

于 2013-01-17T15:59:24.507 回答
2

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

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

  1. 使用带有通配符 *.pdb 的FindMatchingFiles Activity,它返回 pdb 文件的完整路径
  2. 使用 Foreach 循环
  3. 使用 InvokeMethod Activity 在循环中为每个文件调用 DotNet 方法,目标类型 System.IO.File 和方法为“Delete”
于 2013-01-17T11:23:05.307 回答
2

在以前的版本(Visual Studio 2010)中,当我们构建/release时,它​​不会生成 PDB,当我们仅使用/debug:full/debug:pdbonly构建时会创建 PDB 文件,如果需要,我们使用/debug:pdbonly为我们不希望可调试的发布版本生成 PDB。

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

Visuals Studio 2012 没有文档。

于 2013-01-17T23:12:04.697 回答