繁体   English   中英

Azure 中的 Nuget 符号 使用 Linux 构建代理进行开发

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM