Nuget MyGet&;SymbolSource.org:VS2012 isn';我找不到pdb

Nuget MyGet&;SymbolSource.org:VS2012 isn';我找不到pdb,nuget,symbol-server,myget,Nuget,Symbol Server,Myget,我已经在myget(ci的一部分)上创建了一个库,我正在尝试将符号源推送到symbolsource.org(这是一个很棒的服务,我喜欢这个想法)。这是我第一次尝试。我一直在使用myget网站上的说明:,但存在一些漏洞 以下是我所经历的步骤。首先,我创建一个nuspec文件,并使用“nuget-pack-symbol xxx”创建X.symbols.nupkg和X.nupkg文件。这个很好用。然后我将它们分别推送到myget和symbolsource。我使用nuget pkg浏览器来检查内容,它们

我已经在myget(ci的一部分)上创建了一个库,我正在尝试将符号源推送到symbolsource.org(这是一个很棒的服务,我喜欢这个想法)。这是我第一次尝试。我一直在使用myget网站上的说明:,但存在一些漏洞

以下是我所经历的步骤。首先,我创建一个nuspec文件,并使用“nuget-pack-symbol xxx”创建X.symbols.nupkg和X.nupkg文件。这个很好用。然后我将它们分别推送到myget和symbolsource。我使用nuget pkg浏览器来检查内容,它们看起来和我预期的一样(src、pdb和dll显示在符号中)。完成推送后,我可以登录到symbolsource,并使用myget页面上的说明在那里看到我的包

我使用以下命令推送到symbolsource:

nuget push X.symbols.nupkg $ApiKey -Source http://nuget.gw.SymbolSource.org/MyGet/rootdotnet/
然后,我按照说明配置VisualStudio:确保关闭“仅启用我的代码”,并打开符号服务器。然后,我将以下URL添加到符号服务器列表中:

http://srv.SymbolSource.org/pdb/MyGet/gwatts/XXXXX
其中XXXX是一个GUID,我从sumbolsource“您的帐户”/“身份验证”“Visual Studio”表条目中读取(myget根本不清楚这是我应该做的)

然后我尝试调试。当我点击该库中的某个内容时,我会在VS2012中看到“未加载符号”页面。在“详细信息”下,有一个转储VS2012试图查找pdb文件。我看到以下情况:

C:\Users\Gordon\Documents\Code\HVQCDCorrelationStudy\CalcSimpleCorrelationTestNumbers\bin\x86\Debug\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
c:\TeamCity\buildAgent\work\44463130cd7383cb\LINQToTTree\LINQToTTreeLib\obj\x86\Release\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
C:\WINDOWS\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\dll\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
C:\WINDOWS\dll\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
C:\Users\Gordon\AppData\Local\Temp\SymbolCache\LINQToTTreeLib.pdb\9c883e0fa93245c99efd2b92dbfc6dfc1\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
C:\Users\Gordon\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols\LINQToTTreeLib.pdb\9c883e0fa93245c99efd2b92dbfc6dfc1\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
C:\Users\Gordon\Documents\Code\HVQCDCorrelationStudy\LINQToTTreeLib.pdb: Cannot find or open the PDB file.
SYMSRV:  C:\Users\Gordon\AppData\Local\Temp\SymbolCache\LINQToTTreeLib.pdb\9C883E0FA93245C99EFD2B92DBFC6DFC1\LINQToTTreeLib.pdb not found


SYMSRV:  http://srv.SymbolSource.org/pdb/MyGet/gwatts/XXXXX/LINQToTTreeLib.pdb/9C883E0FA93245C99EFD2B92DBFC6DFC1/LINQToTTreeLib.pdb not found


http://srv.SymbolSource.org/pdb/MyGet/gwatts/XXXXX: Symbols not found on symbol server.
SYMSRV:  C:\Users\Gordon\AppData\Local\Temp\SymbolCache\LINQToTTreeLib.pdb\9C883E0FA93245C99EFD2B92DBFC6DFC1\LINQToTTreeLib.pdb not found


SYMSRV:  http://msdl.microsoft.com/download/symbols/LINQToTTreeLib.pdb/9C883E0FA93245C99EFD2B92DBFC6DFC1/LINQToTTreeLib.pdb not found


http://msdl.microsoft.com/download/symbols: Symbols not found on symbol server.
简而言之,它似乎正确地联系了symbolsource.org。但那里有些东西出了问题。9C883E0FA93245C99EFD2B92DBFC6DFC1显然是一个散列。我不知道(??)是什么哈希符号源分配给那个库的——尽管我很想尝试弄清楚,因为这可能是理解发生了什么的第一步

基本上。此时我不知道如何继续调试。任何帮助都将不胜感激


更新:正如下面的答案中提到的,构建一些可以测试的小东西。我已经做到了,而且效果很好。在这样做的过程中,我发现SymbolSource.org上有一些调试工具——特别是,当您查看提要中的包时,可以找到“Compilations”链接。点击它。它应该为您上传的每个构建类型显示一行。我的软件包与此无关——因此,为了生成符号,我以某种方式弄乱了我的nuspec文件。

尝试隔离一个可复制的场景(尽可能排除其他因素)。听起来你的VisualStudio设置是正确的,所以我怀疑包或编译问题(例如,符号和源不同步)。请随时联系以获得进一步的帮助。

尝试隔离可再现的场景(尽可能排除其他因素)。听起来你的VisualStudio设置是正确的,所以我怀疑包或编译问题(例如,符号和源不同步)。请随时联系我们寻求进一步的帮助。

事实证明,答案只是一份微不足道的工作。结果在我的构建服务器上出现了环境变量冲突。结果是本地构建脚本构建了一个符号文件,构建服务器构建了一个没有PDB的符号文件。当然,没有pdb,源服务器就不能做很多事情


我在路上学到的一件事是NuGet PackageExplorer()。你要做的就是用它来加载nugget symbols包。然后使用插件管理器加载SymboleSource插件(您必须使用market place,但它是免费的)。如果我提交了正确的软件包(我的本地软件包以优异的成绩通过),这个实用程序就会在我的软件包中发现问题。

结果证明,答案很简单。结果在我的构建服务器上出现了环境变量冲突。结果是本地构建脚本构建了一个符号文件,构建服务器构建了一个没有PDB的符号文件。当然,没有pdb,源服务器就不能做很多事情


我在路上学到的一件事是NuGet PackageExplorer()。你要做的就是用它来加载nugget symbols包。然后使用插件管理器加载SymboleSource插件(您必须使用market place,但它是免费的)。如果我提交了正确的软件包(我的本地软件包以优异的成绩通过),该实用程序就会在我的软件包中发现问题。

谢谢。在我努力实现这一目标的同时,在上面添加更多数据。谢谢。当我朝着一个方向努力时,在上面添加更多数据。