1

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

第一个称为框架,第二个称为库。解决方案上的一些项目是 .net 标准 2.1,一些是 .net core 3.1

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

这是我的项目配置

我在 azure devops 上构建了两个应该相同的版本。他们都构建、发布 nuget 包和符号到相同的 azure devops。

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

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

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

源链接错误:Azure DevOps:使用帐户“luiz.bicalho@XXXXXXXXX.com.br”的凭据。错误:请求失败,代码为 404:“未找到”。将 404 视为身份验证失败。某些服务返回 404 而不是 401 来表示身份验证失败。

Source 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 =/框架/XXXXXXXXXXX/StartUp/StartUpExtensions.cs

查找“C:\agent_work\10\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\10\s\Framework \XXXXXXXXX\StartUp\StartUpExtensions.cs' 不存在。在脚本文档中查找 'C:\agent_work\10\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions.cs'... 在项目中查找 'C:\agent_work\10\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions 。CS'。在项目中找不到该文件。搜索嵌入在符号文件中的文档。未找到嵌入文档。使用 Source 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)... 源链接错误:Azure DevOps:使用帐户“luiz.bicalho@XXXXXXXXXX.com.br”的凭据。错误:请求失败,代码为 404:“未找到”。将 404 视为身份验证失败。某些服务返回 404 而不是 401 来表示身份验证失败。未使用 Source Link 找到该文件。使用源服务器寻找源...活动解决方案的调试源文件设置表明调试器不会要求用户查找文件:C:\agent_work\10\s\Framework\XXXXXXXXXX\StartUp\StartUpExtensions.cs . 调试器找不到源文件“C:\agent_work\10\s\Framework\XXXXXXXXX\StartUp\StartUpExtensions.cs”。

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

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

1)第一个配置

2)这就是有效的部署 库部署

这就是不起作用的部署 在此处输入图像描述

3)我在这里有两个不同之处

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

4)我现在正在这样做

仍然无法正常工作,而且我的帐户不是 azure AD 帐户,是 azure devops 中的实时 ID

4

2 回答 2

1

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

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

  1. 确保项目StartUpExtensions.cs属于 has DebugType=Full。根据你的照片,你设置得很好。但我不确定您是否以这种方式设置所有项目。

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

  3. 在 VS 中,导航到 Debug=>Options 并启用如下选项:

    在此处输入图像描述

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

    在此处输入图像描述

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

希望能帮助到你 :)

于 2020-05-19T05:32:22.250 回答
1

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

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

于 2020-05-21T12:23:02.813 回答