TFS Build DLL和PDB不匹配

时间:2014-11-03 09:21:41

标签: visual-studio-2012 tfs nuget debug-symbols

我们正在使用TFS 2012来构建我们的解决方案。完成后,我使用构建输出来创建我在内部发布的一些NuGet包。我刚刚开始使用符号构建这些包,以便我可以将这些NuGet符号包发布到我们的内部符号服务器。

但是,我无法将符号包发布到Symbols Server。原因是DLL和PDB不匹配。我使用了ChkMatch,而且 age属性在位于TFS Dropfolder Release目录中的DLL和PDB上确实不同。如果我从实际构建目录中的obj文件夹中获取PDB文件,则它们匹配。

现在我相信age属性正在增加,因为我的构建过程模板将属性“Source and Symbol Server Settings> Index Sources”设置为True。

  1. 仅为 false 设置此属性是否正确?
  2. 会有任何不可预见的后果吗?
  3. 如果我使用NuGet发布我的符号,我可以忽略构建过程模板中的源和符号服务器设置吗?

1 个答案:

答案 0 :(得分:0)

chkmatch 引发的年龄差异具有误导性。正如所讨论的here(底部注释部分),它不应该阻止Visual Studio找到匹配的程序数据库文件(PDB)并加载符号。

我一直在努力解决这个问题,并认为年龄差异阻止我逐步完成索引的源代码。还有另一个问题,它让我走错了路。因此,在使用 chkmatch 调试此类问题时,请注意年龄属性的差异。