![](/img/trans.png)
[英]Azure Devops private build agent failing at nuget restore task
[英]Nuget symbols in Azure Devops with Linux build agent
我目前正在尝试启用 nuget 库以在 CI/CD 进程中进行本地调试。
目前的情况
我在 Azure Devops 上有一个构建配置,它使用 Ubuntu 代理。 构建发布工件,发布管道将 nuget package 打包/推送到 Azure 工件。
首先,我尝试使用 snupkg 格式发布 pdb 文件,但 Azure Artifacts 中不支持这些文件。 https://developercommunity.visualstudio.com/t/add-snupkg-support-to-azure-devops-artifacts/657354
我尝试按照本教程进行操作。 https://docs.microsoft.com/en-us/azure/devops/artifacts/symbols/setting-up-github-sourcelinking?view=azure-devops
第一个障碍是发布符号发布的任务不适用于 Linux,而仅适用于 Windows。 https://github.com/microsoft/azure-pipelines-tasks/issues/5919
因此,我在使用符号服务器时运气不佳。 我通过在.csproj
文件中添加以下内容找到了解决方法
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
现在这些符号被打包在 nuget 文件中,但当我在 Visual Studio 中使用 package 时仍然没有自动加载。 (我取消选中仅在 VS 中启用我的代码)
当我在 Visual Studio 的模块 windows 中手动添加它们时,它可以工作。
有什么方法可以在 Azure Devpos 中使用 Linux 代理建立 CI/CD 流程,以使符号正常工作? 或者,VS可以在加载nuget package时自动加载符号吗?
My project is .net standard 2.1/.net framework 5. Builds: Azure Devops (Ubuntu agent) Nuget repository: Azure Artifacts Visual studio: VS 2019 16.8.4
非常感谢所有帮助我们。
谢谢
现在这些符号被打包在 nuget 文件中,但当我在 Visual Studio 中使用 package 时仍然没有自动加载。 (我取消选中仅在 VS 中启用我的代码)
对于此问题,这是预期行为。 通常我们使用Index Sources & Publish Symbols
任务将符号发布到 Azure Artifact 中的符号服务器(Azure Artifacts 提供了一个专用的符号服务器来发布您的符号)。 然后在 Visual Studio 中,添加新的符号服务器(拥有管道并托管工件源的组织)。 配置完成后,Visual Studio 将建立与符号服务器的连接并尝试定位符号。
由于您仅将符号打包在 nuget 文件中,并且不将符号发布到符号服务器。 因此,符号不会在 VS 中自动加载。
所以你需要在Visual Studio的“Modules”window中手动添加它们才能工作。
如果您希望 VS 自动加载符号,在 azure 管道中,您可以尝试使用两个代理作业,在第二个代理作业中使用 windows 代理运行Index Sources & Publish Symbols
任务以将符号发布到 Z3A5150F142F1428203677 中的符号服务器
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.