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

推送Nuget包到Azure Feed报错版本过长(最长90字符)如何解决

问题排查与解决方案

根因说明

你遇到的报错属于Azure DevOps NuGet任务内置推送工具VstsNuGetPush.exe的已知bug,该工具会错误将「包名+版本号的总长度」识别为「版本号字段长度」,从而触发误报,本地使用原生NuGet CLI可正常推送也验证了包本身的合法性。

排查步骤

  • 第一步:校验包元数据合法性
    解压待推送的.nupkg文件,打开根目录下的.nuspec配置文件,确认version节点的字符串长度确实低于90字符,排除包本身元数据错误的可能。
  • 第二步:测试原生NuGet CLI推送效果
    在流水线中新增Command Line任务,执行如下命令验证推送能力:
    nuget push Permission.BusinessEntities.1.1.0-azure-pipelines.3279.nupkg -Source https://pkgs.dev.azure.com/x/_apis/packaging/x/nuget/v3/index.json -ApiKey az
    
    执行前需配置流水线任务权限允许访问项目源,或通过环境变量传入SYSTEM_ACCESSTOKEN鉴权。如果该命令执行成功,可确认是内置推送工具的bug。
  • 第三步:验证NuGet任务版本兼容性
    确认当前使用的NuGet任务版本,v2.198~v2.210区间的多个版本均存在VstsNuGetPush.exe校验逻辑错误的问题。

最终解决方案

修改NuGet推送任务配置,禁用内置推送工具即可:

  1. 图形界面配置:找到NuGet任务的「高级」设置,取消勾选使用VstsNuGetPush.exe推送包选项
  2. YAML配置:在任务参数中新增useVstsNuGetPush: false,示例如下:
- task: NuGetCommand@2
  inputs:
    command: 'push'
    packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg'
    nuGetFeedType: 'internal'
    publishVstsFeed: '你的源ID'
    useVstsNuGetPush: false # 新增该配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:51:03