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

使用Azure Pipelines发布NuGet包到Azure Feed报错NU5128

错误原因

触发NU5128报错的核心问题是打包步骤使用了NuGetCommand@2任务,该任务默认调用传统nuget.exe客户端,对.NET 6+的SDK风格项目存在兼容性缺陷:自动生成nuspec清单时,无法正确匹配net6.0目标框架对应的依赖组与lib目录内容,哪怕你没有手动创建自定义nuspec文件,也会触发框架匹配校验失败。
你贴出的.csproj文件配置完全符合.NET 6类库的打包规范,不需要做任何调整。

修复方案

直接把旧的NuGet打包、推送任务替换为DotNetCoreCLI@2任务,调用.NET CLI原生的pack、push命令即可,这类命令原生适配SDK风格项目,不会出现框架识别不匹配的问题。

  • 替换原有的NuGet pack步骤为以下配置:
- task: DotNetCoreCLI@2
  displayName: dotnet pack
  inputs:
    command: 'pack'
    projects: '**/Dummy.csproj'
    configuration: '$(buildConfiguration)'
    versioningScheme: 'off'
    packDestination: '$(Build.ArtifactStagingDirectory)'
  • 推荐同步替换原有的NuGet push步骤为以下配置,运行稳定性更好:
- task: DotNetCoreCLI@2
  displayName: dotnet nuget push
  inputs:
    command: 'push'
    packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg'
    publishVstsFeed: 'xxxxx-xxxxxx-xxxxxx'
备选方案(不推荐)

如果必须保留NuGetCommand@2任务,需要在管道步骤最前端增加.NET 6 SDK安装步骤,同时将NuGet客户端版本升级到6.x以上。但这种方式出现其他兼容性问题的概率更高,不建议使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:36:27