Visual studio 2012 TFS生成DLL和PDB不匹配

Visual studio 2012 TFS生成DLL和PDB不匹配,visual-studio-2012,tfs,nuget,debug-symbols,Visual Studio 2012,Tfs,Nuget,Debug Symbols,我们正在使用TFS 2012构建我们的解决方案。完成后,我使用构建输出创建一些我在内部发布的NuGet包。我刚刚开始用符号构建这些包,这样我就可以将这些NuGet symbols包发布到我们的内部符号服务器 但是,将symbols包发布到symbols服务器时遇到问题。原因是DLL和PDB不匹配。我使用了age属性,事实上,位于TFS Dropfolder发布目录中的DLL和PDB上的age属性是不同的。如果我从实际构建目录中的obj文件夹中获取PDB文件,则它们匹配 现在我相信age属性正在增

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

但是,将symbols包发布到symbols服务器时遇到问题。原因是DLL和PDB不匹配。我使用了age属性,事实上,位于TFS Dropfolder发布目录中的DLL和PDB上的age属性是不同的。如果我从实际构建目录中的obj文件夹中获取PDB文件,则它们匹配

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

将此属性设置为false是否正确? 会不会有任何不可预见的后果? 如果我使用NuGet发布我的符号,我可以忽略生成过程模板中的源和符号服务器设置吗?
chkmatch提出的年龄差异具有误导性。正如底部注释部分所讨论的,它不应阻止VisualStudio查找匹配的程序数据库文件PDB并加载符号


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

您的PDB是否受源代码管理?否,我们的bin和obj文件夹未签入TFS。如果关闭索引,则您的符号文件除了直接在生成服务器上之外,在任何地方都是无用的。@MrHinsh我们需要符号文件的唯一原因是创建位于符号服务器上的NuGet symbols包。关闭索引后,这些pdb可以很好地工作,用户可以调试到文件中。符号文件没有其他用途。如果没有索引pdb,您将很快遇到问题。您将需要相同的文件夹布局,并且它不会单步执行实际代码,而是您在本地拥有的版本。如果它们不匹配,它将不起作用。