Visual studio 2012 Proget符号服务器:下载pdb,但表示未找到调试符号

Visual studio 2012 Proget符号服务器:下载pdb,但表示未找到调试符号,visual-studio-2012,nuget-server,proget,Visual Studio 2012,Nuget Server,Proget,所以我使用的是最新版本——Proget 3.0.3 build 1 无论我做什么,我都不能让Proget充当符号服务器。不确定这是VS2012/Proget还是两者兼而有之。 审查: 包和符号已手动上载到Proget。已验证Proget报告在程序包页面上有可用的符号 包Id与我在引用的DLL上的Id匹配 在输出窗口中,我看到 PdbNavigator:下载程序:http://myserver/symbols/default/CQRS.Engine.pdb/9C8207DD2A6443DCB1D

所以我使用的是最新版本——Proget 3.0.3 build 1

无论我做什么,我都不能让Proget充当符号服务器。不确定这是VS2012/Proget还是两者兼而有之。 审查:

  • 包和符号已手动上载到Proget。已验证Proget报告在程序包页面上有可用的符号
  • 包Id与我在引用的DLL上的Id匹配
  • 在输出窗口中,我看到
  • 
    PdbNavigator:下载程序:http://myserver/symbols/default/CQRS.Engine.pdb/9C8207DD2A6443DCB1D717C237949F317/CQRS.Engine.pdb ->好的,91.5 KB
    PdbNavigator:在CQRS的符号服务器上找不到调试信息。引擎,版本=2.2.3.0,区域性=中性,PublicKeyToken=null
    

    所以它正在下载.pdb文件,但随后出错了?从输出窗口访问链接也会下载pdb

    我在Proget服务器上没有看到任何索引错误或其他错误,所以我假设这是visual studio而不是Proget

    更新1 所以,在进一步挖掘之后,我得到了一个日志,表明PDB是正常的,但是源代码下载失败了。我的proget服务器位于反向代理的后面,所以这就是url中出现“localhost:81”的原因。然而,我怀疑它仍然无法正常工作,因为如果我用我的服务器名替换它,我仍然会得到404错误

    是否有人让Proget在反向代理后正常工作

    PdbNavigator: Searching for 'CQRS.Engine.DataSerializer' type sources in C:\Users\RAGHUR~1\AppData\Local\Temp\SymbolCache\CQRS.Engine.pdb\9C8207DD2A6443DCB1D717C237949F317\CQRS.Engine.pdb
    PdbNavigator: Downloader: http://localhost:81/source-files/default/CQRS.Engine/2.2.3/CQRS.Engine/DataSerializer.cs -> Unable to connect to the remote server No connection could be made because the target machine actively refused it 127.0.0.1:81
    PdbNavigator: No sources found in debugging information for 'CQRS.Engine.DataSerializer' in assembly 'CQRS.Engine, Version=2.2.3.0, Culture=neutral, PublicKeyToken=null'
    

    更新2看起来这可能是一个Resharper问题

    ,所以它确实是Resharper 7.1.x。显然,这个问题仍然悬而未决。在调试期间,符号下载按预期工作。

    我刚刚在我们的nuget软件包和Proget中遇到了这个问题。在我们的例子中,我们构建的nuget包的源代码位于一个名为src的文件夹中(但我们的repo中也有一个“src”文件夹),因此它指向一个类似于src/src/的路径(在包中)

    我发现,如果我在resharper中为导航设置了“高级”设置,并告诉它重新映射src/src->src,那么它就会开始工作


    YMMV.

    如果文件可以从URL下载,那么它似乎不在程序端。也许在为您的项目加载的内容和它请求的内容之间存在版本不匹配?尝试清除机器上的符号缓存,看看这是否有帮助。@JohnRasch-是的-已经尝试了一些事情。我比较了嵌入的guid(9C8207…)和匹配的guid。我现在的猜测是,它找到了.pdb,但由于任何原因都找不到源代码。