找不到文件:源 link 身份验证失败

File not found: Source link authentication failed

我有两个解决方案,它们是我其他项目的库

第一个叫框架,第二个叫库。 解决方案中的一些项目是.net standard 2.1,一些是.net core 3.1

每个解决方案都在不同的 git 存储库中,但我对两者都有完全访问权限。

我有两个基于 azure devops 的构建应该是相同的。 他们都构建、发布 nuget 包和符号到相同的 azure devops。

在 visual studio 中,我添加了 azure devops 作为符号位置。

两个项目的所有符号都加载到缓存中,但只有库中的源 link 有效,框架中的符号给我这些错误

您需要找到 StartUpExtensions.cs 才能查看当前调用堆栈帧的源代码

来源Link错误: Azure DevOps:使用帐户 "luiz.bicalho@XXXXXXXXX.com.br" 的凭据。 错误:请求失败,代码为 404:"Not Found"。将 404 视为身份验证失败。某些服务 return 404 而不是 401 用于身份验证失败。

来源 Link URL: https://XXXXXXXX.visualstudio.com/828fa95b-4dc5-4f4a-b335-a9f82be0d6d5/_apis/git/repositories/c625311f-9b29-48c5-af18-c36be4b662df/items?api_version=1.0&versionType=commit&version=b8d8dc10f07a92cc304f027ae89f928c85bcfa1f&path=/Framework/XXXXXXXXXXX/StartUp/StartUpExtensions.cs

找到 'C:\agent_work\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions.cs' 的来源。校验和:SHA256 {64 99 71 5c 2b 61 7b 3a c4 1a e5 56 a8 d4 7c 4c 66 27 15 91 50 bf 61 f5 f5 bc 2c 60 76 cc 5b dc} 文件 'C:\agent_work\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions.cs' 不存在。 在脚本文档中查找 'C:\agent_work\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions.cs'... 查看 'C:\agent_work\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions.cs' 的项目。 在项目中找不到该文件。 搜索符号文件中嵌入的文档。 找不到嵌入文档。 使用来源 Link (https://XXXXXXX.visualstudio.com/828fa95b-4dc5-4f4a-b335-a9f82be0d6d5/_apis/git/repositories/c625311f-9b29-48c5-af18-c36be4b662df/items?api_version=1.0&versionType=commit&version=b8d8dc10f07a92cc304f027ae89f928c85bcfa1f&path=/Framework/XXXXXXXXXXXX/StartUp/StartUpExtensions.cs) 寻找来源... 来源 Link 错误: Azure DevOps:使用帐户 "luiz.bicalho@XXXXXXXXXX.com.br" 的凭据。 错误:请求失败,代码为 404:"Not Found"。将 404 视为身份验证失败。某些服务 return 404 而不是 401 用于身份验证失败。 找不到源 Link 的文件。 使用源服务器寻找源... 活动解决方案的调试源文件设置表明调试器不会要求用户查找文件:C:\agent_work\s\Framework\XXXXXXXXXX\StartUp\StartUpExtensions.cs。 调试器找不到源文件 'C:\agent_work\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions.cs'。

我不确定是什么导致了这个错误,我在 git 安全性、构建过程和项目配置中进行了查找

我将添加更多信息以完成 Lance Li-MSFT 的回答

1)

2) 这就是有效的部署

那是不起作用的部署

3) 我这里有两个不同点

a) 只启用了我的代码 b) .net 框架源步进被禁用

4) 我现在正在这样做

还是不行,我的账号不是azure AD账号,是azure devops中的live Id

我无法在我这边重现同样的问题,但是我可以确认源 link 如果所有设置都设置良好(我刚刚使用 .net 核心库进行了测试并且它有效) .

您可以尝试我的以下提示进行故障排除并解决该问题:

  1. 确保 StartUpExtensions.cs 所属的项目有 DebugType=Full。根据你的照片,你设置得很好。但是我不确定你是不是所有的项目都是这样设置的

  2. 在Azure Devops管道中,按照我的设置配置发布符号路径任务。

  3. 在 VS 中,导航到“调试”=>“选项”并启用如下选项:

  4. 在 VS 中,删除并重新添加 Azure Devops 服务服务器:

重建项目并再次调试以检查是否有帮助。如果问题没有消失,您需要检查您使用的帐户是否是 Azure AD 帐户。您可能需要使用典型的 devops 帐户或将 AD 帐户添加到 Azure devops。类似于 this issue.

希望对您有所帮助:)

这是一个奇怪的场景,在 GIT 中有两个同名但大小写不同的文件夹。 一个是 XX.webapi.extensions,另一个是 XX.WebApi.Extensions,一个只有 de .csproj,另一个有所有文件,但可能 sourcelink 在第一个中查找并没有找到该文件。

当我删除其中一个文件夹时已解决。