简体   繁体   English

Nuget 带有 ARTifactory 的 Visual Studio 中的符号服务器不工作

[英]Nuget Symbol Server in Visual Studio with ARtifactory is not working

I've set up Artifactory and uploaded some (s)nupkg packages.我已经设置了 Artifactory 并上传了一些 (s)nupkg 包。 Then i've added the artifactory feed as described in the documentation.然后我按照文档中的描述添加了人工提要。 https://jfrog.com/knowledge-base/artifactory-how-to-configure-artifactory-as-symbol-server-and-integrate-with-visual-studio/ https://jfrog.com/knowledge-base/artifactory-how-to-configure-artifactory-as-symbol-server-and-integrate-with-visual-studio/

This nuget packages can be downloaded from artifactory as expected and all works well well.这个 nuget 包可以按预期从 artifactory 下载,并且一切正常。 Yet for some reason, i can't seem to download the pdb symbols.但出于某种原因,我似乎无法下载 pdb 符号。

When i debug my code and look in the modules tab, i can see that the symbols are not loaded.当我调试我的代码并查看模块选项卡时,我可以看到没有加载符号。 In the log i can find an HTTP_STATUS_BAD_METHOD error:在日志中我可以找到 HTTP_STATUS_BAD_METHOD 错误:

SYMSRV: HTTPGET: /artifactory/api/nuget/v3/etm-nuget-local-release/ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pd_ SYMSRV: HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND SYMSRV: HttpQueryInfo: 80190195 - HTTP_STATUS_BAD_METHOD SYMSRV: RESULT: 0x80190195 SYMSRV: HTTPGET: /artifactory/api/nuget/v3/etm-nuget-local-release/ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pd_ SYMSRV: HttpQueryInfo(HTTP_QUERY_CONTENT_LENGTH): 800C2F76 - ERROR_HTTP_HEADER_NOT_FOUND SYMSRV: HttpQueryInfo:80190195 - HTTP_STATUS_BAD_METHOD SYMSRV:结果:0x80190195

If i copy the string into my browser and add the address of the artifactory server like this: https://artifactory.etm.at:8445/artifactory/api/nuget/v3/etm-nuget-local-release/ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pdb如果我将字符串复制到我的浏览器中并像这样添加人工服务器的地址: https://artifactory.etm.at:8445/artifactory/api/nuget/v3/etm-nuget-local-release/ETM.WCCOA .Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pdb

i can download the pdb and then add it manually to the the modules and everything works as expected.我可以下载 pdb,然后手动将其添加到模块中,一切都按预期进行。 So it seems like there's a problem with the automatic download in studio from artifactory.因此,从 artifactory 自动下载工作室似乎存在问题。 i don't know what's causing this, but the authentication should not be the problem, since i've also tried it with my admin account and the normal nuget packages are fine我不知道是什么原因造成的,但身份验证应该不是问题,因为我也用我的管理员帐户尝试过,正常的 nuget 包没问题

if the symbol file does not exist in the cache, the VS debugger tries to download it in 3 different ways/formats:如果缓存中不存在符号文件,VS 调试器会尝试以 3 种不同的方式/格式下载它:

  1. The actual symbol file (.pdb extension), which is supported in Artifactory. Artifactory 支持的实际符号文件(.pdb 扩展名)。 In your case (as it worked for you in your browser), the request path would be: ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pdb在您的情况下(因为它在您的浏览器中适用于您),请求路径为:ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pdb
  2. From a Pointer file (.ptr extension), that is currently not supported in Artifactory.来自 Artifactory 当前不支持的指针文件(.ptr 扩展名)。 In your case, the request path would be: ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/file.ptr在您的情况下,请求路径为:ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/file.ptr
  3. From a compressed file (.pd_ extension), which is not supported in Artifactory either.来自压缩文件(.pd_ 扩展名),这在 Artifactory 中也不支持。 In your case (same as you added in your question in the error part), the request path would be: ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pd_在您的情况下(与您在错误部分的问题中添加的相同),请求路径为:ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/ETM.WCCOA.Basics.pd_

It is very common that the debugger fails to download the desired symbol file using the second (.pd_) or third (file.ptr) format (even with other Symbol Servers, like Nuget.org for example), but it should have tried to download the symbol file using the first format, which is the same request that worked for you manually using the browser.调试器无法使用第二种 (.pd_) 或第三种 (file.ptr) 格式(即使使用其他符号服务器,例如 Nuget.org)下载所需的符号文件是很常见的,但它应该尝试使用第一种格式下载符号文件,这与使用浏览器手动为您工作的请求相同。

Can you add the full output from the debugger?你能从调试器中添加完整的 output 吗? Or alternatively, can you check in your "artifactory-request.log" which requests you see that contain "/artifactory/api/nuget/v3/etm-nuget-local-release/ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/"?或者,您能否检查您的“artifactory-request.log”,您看到哪些请求包含“/artifactory/api/nuget/v3/etm-nuget-local-release/ETM.WCCOA.Basics.pdb/6264D37419404FE5A4A845AF52F44612ffffffff/” ? Those details would be very helpful.这些细节会很有帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从 Visual Studio 中对 Artifactory 上的 NuGet 进行身份验证 - Authentication to NuGet on Artifactory from within Visual Studio Artifactory-从Visual Studio Feed中隐藏NuGet软件包版本 - Artifactory - Hide NuGet Package Version From Visual Studio Feed Artifactory 中的 Nuget 包未显示在 Visual Studio 中的可用包中 - Nuget package in Artifactory does not show up in available packages in Visual Studio 在 Visual Studio 中构建期间自动下载 Artifactory NuGet - Automate Artifactory NuGet download during build in Visual Studio 找不到引用的Nuget DLL,可以在Visual Studio中正常工作 - Referenced Nuget DLL Not Found Working Visual Studio NuGet包在Visual Studio 2015中不起作用 - NuGet Package Not working in Visual Studio 2015 在 Visual Studio 中使用 Artifactory nuget 提要 - 如何在 package 管理器中获取相关搜索结果? - Using an Artifactory nuget feed in Visual Studio - how to get relevant search results in the package manager? Visual Studio:通过注册表配置Symbol Server - Visual Studio: Configure Symbol Server via Registry 符号服务器实用程序在Visual Studio中位于哪里? - Where is symbol server utility located in Visual Studio? nuget 与视觉工作室社区 - nuget with visual studio community
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM