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

CI/CD中NuGet包版本无效报错,排查突发原因求助

问题原因

NETSDK1018错误的核心是你用的版本号1.0.0-06181390违反了NuGet版本规范:

  • NuGet规定,预发布版本的标识符如果是纯数字段,不能带有前导零。你的版本号里-后面的06181390是纯数字且以0开头,触发了验证失败。
  • 之前流程正常是因为CI_COMMIT_SHORT_SHA生成的短哈希从没以0开头过,这次刚好碰到了这个边界场景。
修复方案

方案1:给哈希加非数字前缀(推荐)

修改版本号的拼接规则,在短哈希前加一个非数字前缀,比如git-:

VERSION="1.0.0-git-$CI_COMMIT_SHORT_SHA"

生成的版本号会变成1.0.0-git-06181390,预发布段不再是纯数字,自然符合NuGet的要求。

方案2:关闭自动程序集信息生成(临时应急)

如果不想改版本号格式,可以在项目的.csproj文件里添加配置,跳过自动生成程序集信息时的版本验证:

<PropertyGroup>
  <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>

但这种做法会完全关闭自动程序集信息生成,可能带来其他潜在问题,不建议长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 03:36:17