You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure流水线发布.NET类库至Artifact Feed异常问题排查

问题分析与修正方案

你的流水线存在两个核心问题,导致出现当前现象:

1. 缺少将NuGet包推送到Azure Artifact Feed的关键步骤

你当前的流水线仅完成了类库打包,并将包发布到Azure DevOps的构建制品(Build Artifacts)(即流水线页面的Artifacts标签页),但没有执行将包推送到目标Azure Artifact Feed的操作——这就是Feed中看不到你的类库更新的直接原因。

2. Microsoft SDK制品被误推的可能原因

Feed中出现Microsoft SDK包,大概率是之前的操作里错误执行了推送所有依赖包的命令,或是nuget.config配置有误,导致把公共源的第三方包误推到了私有Feed中。

修正后的流水线配置

替换原有流水线,添加推送至Azure Artifact Feed的步骤,同时确保仅推送你的类库包:

trigger:
- main

pool:
  vmImage: ubuntu-latest

steps:
- task: UseDotNet@2
  inputs:
    packageType: 'sdk'
    version: '6.x' # 根据你的项目.NET版本调整
    installationPath: $(Agent.ToolsDirectory)/dotnet

- task: NuGetAuthenticate@1

- task: NuGetCommand@2
  inputs:
    command: restore
    feedsToUse: config
    nugetConfigPath: 'nuget.config' # 确保配置文件仅指向必要源,避免误推第三方包

- script: dotnet build --configuration Release
  displayName: "Build Solution"

- script: dotnet pack --configuration Release --output '$(Build.ArtifactStagingDirectory)' --include-symbols false # 可选:关闭符号包减少冗余
  displayName: "Pack Project"

# 新增:推送类库包到Azure Artifact Feed
- task: NuGetCommand@2
  inputs:
    command: push
    packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
    nuGetFeedType: 'internal'
    publishVstsFeed: '你的Feed名称/FeedID' # 替换为你的Azure Artifact Feed名称或ID
    allowPackageConflicts: false # 禁止重复推送相同版本的包

# 可选:保留构建制品,方便后续查看
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: drop

额外注意事项

  • 检查nuget.config,确保仅配置必要的源,不要将Azure Artifact Feed设为公共源的镜像或自动推送源,避免再次误推第三方包。
  • 若需要推送符号包,可将packagesToPush改为$(Build.ArtifactStagingDirectory)/*.nupkg;*.snupkg。
  • Feed中已存在的误推Microsoft SDK包,可直接进入Azure Artifact Feed页面手动删除。

内容的提问来源于stack exchange,提问作者Thomas Kendall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:15:01