如果需要基本身份验证,Visual Studio 可以访问 TeamCity 符号服务器吗?

Can Visual Studio access TeamCity symbol server if basic auth is rquired?

我有 TeamCity 符号服务器插件工作,并且可以按预期从 VS2017 中提取符号和源,只要我允许来宾登录 TeamCity 并且来宾具有适当的权限。

但是,所需的权限非常宽松(允许下载源代码)。这是一个私人的商业团队,所以我不想允许 public/guest 访问。我希望它经过身份验证,但似乎无法让 VS2017 提示输入凭据或将它们传递到在 VS2017 的“调试”>“符号”设置 (https://user:pass@my.teamcity.com) 中配置的 URL。输出 window 始终显示 "Symbol server authentication failed".

不确定这是 VS 的限制还是我没有正确配置它。有谁知道if/how这是可能的吗?

编辑: Looks like it is a bug. (Thanks @mmchenry for the bug report link.) According to a comment 它将在即将发布的版本中修复。同时,可以使用下面的解决方法。


我想这可能是VS 2017的一个新bug。更新到15.3后,我无法让身份验证提示出现。它曾经定期出现。现在,由于您列出的错误,符号信息总是失败:Symbol server authentication failed

不过我有一个解决方法。 Windows SDK 中的 symchk.exe 实用程序下载符号。使用 Win10 SDK,您可以在此处找到 symchk:c:\Program Files (x86)\Windows Kits\Debuggers\x64\symchk.exe

这是一个如何使用它的例子 (powershell):

& "c:\Program Files (x86)\Windows Kits\Debuggers\x64\symchk.exe" `
  "C:\path\to\Your.dll" /r /v /s `
  "srv*c:\symcache*https://my.teamcity.com/app/symbols"

这仍然提供了一个 UI 提示来获取凭据,然后下载到符号缓存,您可以从中获取 Visual Studio 从 Debug->Symbols 选项中加载:

此问题现已在 15.5 中修复。据我所知,它没有在发行说明中列出,但是 MS rep commented that it was fixed in 15.5,所以我试了一下。

我安装 15.5 后,一开始没有提示我输入凭据。所以我 deleted/re-added 符号服务器设置并清理了符号缓存。然后在下一个 运行 它提示我输入凭据,成功下载符号并允许我调试程序集。