如何在GitHub Actions流水线中修改nupkg包RC版本为GA正式版本
NuGet RC包直接转GA版本的实现方案
方案1:手动重打包(无需额外工具、无编译过程)
该方案完全复用RC阶段的构建产物,仅修改包元数据:
- 下载已生成的RC版本
.nupkg文件,将文件后缀修改为.zip后解压到本地目录 - 打开解压目录下的
.nuspec清单文件,修改<version>节点的值为不带RC后缀的正式GA版本号,若包内引用了同项目的其他RC依赖包,同步修改对应依赖的版本号 - 保持目录内其他所有构建产物(dll、资源文件、配置文件等)不变,在当前目录执行
nuget pack 你的包名.nuspec,即可生成对应GA版本的nupkg文件
方案2:专用CLI工具一键修改(更适合流水线集成)
使用.NET全局工具NuGetPackageRenamer可以直接对nupkg文件修改版本,无需手动解压操作:
- 先安装工具:
dotnet tool install --global NuGetPackageRenamer - 执行版本修改命令:
NuGetPackageRenamer --path 你的RC包文件路径.nupkg --version 目标GA版本号 - 命令执行完成后会直接生成重命名后的GA版本nupkg,自动处理内部清单更新、文件名修改、校验值同步
注意事项
- 若你的NuGet包配置了强名称签名,修改版本号后需要重新对包做签名,否则安装时会触发签名验证失败
- 若你的包内硬编码了版本号(如配置文件、代码注释、资源元数据中写死了RC版本),需先确认修改包版本不会导致业务逻辑异常,这类场景更建议沿用原重新构建的方案保证一致性
- 上述两种方案都可以直接集成到GitHub Actions流水线中,RC包验证通过后自动执行版本修改、上传GA包的操作,无需人工介入
内容的提问来源于stack exchange,提问作者Kynian
相关产品推荐
相关产品推荐

