【问题标题】:Nuget symbols in Azure Devops with Linux build agentAzure Devops 中的 Nuget 符号与 Linux 生成代理
【发布时间】:2021-06-04 01:06:03
【问题描述】:

我目前正在尝试启用 nuget 库以在 CI/CD 进程中进行本地调试。

现状

我在使用 Ubuntu 代理的 Azure Devops 上有一个构建配置。构建发布工件,发布管道将 nuget 包打包/推送到 Azure Artifacts。

首先我尝试使用 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 中使用该包时仍然没有自动加载。 (我在 VS 中取消选中仅启用我的代码)

当我在 Visual Studio 的“模块”窗口中手动添加它们时,它可以工作。

有什么方法可以在 Azure Devpos 中使用 Linux 代理构建 CI/CD 流程以使符号正常工作?或者VS在加载nuget包时可以自动加载符号吗?

我的项目是 .net 标准 2.1/.net 框架 5。 构建:Azure Devops(Ubuntu 代理) Nuget 存储库:Azure 工件 视觉工作室:VS 2019 16.8.4

非常感谢所有帮助我们。

谢谢

【问题讨论】:

    标签: c# visual-studio azure-devops nuget azure-artifacts


    【解决方案1】:

    现在符号已打包在 nuget 文件中,但仍未加载 当我在视觉工作室中使用包时自动。 (一世 未选中在 VS 中仅启用我的代码)

    对于此问题,这是预期行为。通常我们使用Index Sources &amp; Publish Symbols 任务将符号发布到 Azure Artifact 中的符号服务器(Azure Artifacts 提供了一个专用的符号服务器来发布您的符号)。然后在 Visual Studio 中,添加新的符号服务器(拥有管道并托管工件源的组织)。配置完成后,Visual Studio 将建立与符号服务器的连接并尝试定位符号。

    因为您只将符号打包到 nuget 文件中,而不会将符号发布到符号服务器。因此,符号不会在 VS 中自动加载。

    所以你需要在 Visual Studio 的“模块”窗口中手动添加它们才能使其工作。

    如果你想让VS自动加载符号,在azure管道中,你可以尝试使用两个代理作业,在第二个代理作业中使用windows代理运行Index Sources &amp; Publish Symbols任务,将符号发布到Azure Artifact中的符号服务器。

    【讨论】:

    • 感谢 Hugh 的回答,我的结论基本相同......目前在 Linux 客户端中无法做到这一点,专用的 Windows 平台将是唯一的解决方案。单独的阶段至少现在是矫枉过正的。我将坚持从 nuget 缓存手动加载符号的本地解决方法。再次感谢您的确认。
    猜你喜欢
    • 2021-02-17
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2019-08-28
    • 2020-04-12
    • 1970-01-01
    相关资源
    最近更新 更多