【发布时间】:2013-01-18 07:12:04
【问题描述】:
使用 Visual Sturdio 2012(和 TFS 2012 服务器)的 DefaultTemplate 时,PDB 文件包含在构建目录中。我不要他们。
有没有办法在构建过程中不生成这些文件?
或者
如何删除这些文件?
我found this thread 关于删除但似乎有点奇怪(没有删除活动?) 还有this answer但不涉及XAML模板。
提前感谢您的帮助。
【问题讨论】:
使用 Visual Sturdio 2012(和 TFS 2012 服务器)的 DefaultTemplate 时,PDB 文件包含在构建目录中。我不要他们。
有没有办法在构建过程中不生成这些文件?
或者
如何删除这些文件?
我found this thread 关于删除但似乎有点奇怪(没有删除活动?) 还有this answer但不涉及XAML模板。
提前感谢您的帮助。
【问题讨论】:
PDB 文件包含有关您的代码的调试信息,不建议禁用它们,它们是有效的输出,因此部署不应该弄乱它们。 您可以在 Visual Studio 项目 Properties> Build > Advanced > Debug Info = none 中禁用它们的生成。 如果您绝对希望它们消失,请禁用它们以构建特定配置(发布等)
【讨论】:
默认情况下,构建服务器会按照解决方案 (sln) 的指示执行任何操作。默认情况下是进行“调试”构建并创建 PDB。您可以告诉 Build 进行“发布”构建,默认情况下不会创建任何 PDB...
图:添加构建配置
但我建议不要这样做,因为 PDB 包含您甚至在生产系统中也需要的信息。考虑一下,您在生产中有一个 DLL,而客户遇到了问题。你让他们创建一个 InteliTrace 日志,以便你可以在本地调试它(或者他们让你在他们的环境中调试),突然你试图在 Visual Studio 不了解可执行文件和源代码之间的关系的情况下进行调试。所以没有调试...
【讨论】:
由于我无法找到禁用 PDB 文件生成的构建选项,因此我随后将其删除。
没有简单的方法可以删除文件。我做到了:
【讨论】:
在以前的版本中 (Visual Studio 2010) 当我们构建 /release 时,它不会生成 PDB,当我们仅使用 /debug:full 或 /debug:pdbonly 构建时会创建 PDB 文件strong>,如果我们想为我们不想调试的发布版本生成 PDB,我们使用 /debug:pdbonly。
在 Visual Studio 2012 中并非如此,我检查了它,发现它在 /debug 和 /release
中都生成了 PDB没有适用于 Visuals Studio 2012 的文档。
【讨论】: