我在this guide之后在Azure DevOps中创建了私有的NuGet提要,并创建了带有dotnet pack
和dotnet nuget push
步骤的构建管道。运行几次构建后,新版本将显示在Artifacts
>> MyFeed
>> Versions
下。我将一些版本手动升级到@Release
。
但是,当我连接到Visual Studio中的feed时,我只会看到版本1.0.0
是稳定版本,但是所有更高版本(通过我的构建管道发布)都仅在我选中“ include预发布”选项。这是屏幕截图:
我的问题是:
1-如何手动将版本升级到稳定版本?
2-如何通过构建或发布管道将版本升级到稳定版本?
答案 0 :(得分:1)
NuGet使用语义版本2.0,它表示-
字符后的任何内容表示预发布信息。因此,1.0.1-CI
是预发行版本,而1.0.1
是发行版本。如果要在版本字符串中生成元数据,则应再次使用SemVer2定义的+
字符。
编辑:请注意,SemVer元数据不会有助于版本比较,因此1.2.3+CI.1
被视为SAME版本,1.2.3+CI.2
答案 1 :(得分:1)
Azure DevOps-私有NuGet提要不会更新稳定版本
就像齐夫坎所说的那样:“ -
字符之后的任何信号表示预发布信息。”。您可以检查nuget文档Package versioning以获得一些详细信息。
1-如何手动将版本升级到稳定版本?
您可以从nuget提要中下载该软件包,然后将其版本更改为稳定版本,然后将其重新推送到提要中。
2-如何通过构建或发布管道将版本升级到稳定版本?
要通过构建或发行将版本升级到稳定版本,可以更改内部版本号。当您使用dotnet pack
任务创建nuget软件包时,有一个自动软件包版本控制选项:
更新:
因此,请尝试在自动软件包版本控制中使用选项使用内部版本号选项。
然后,在内部编号格式选项中,可以将其设置为$(Major).$(Minor).$(Patch)$(Rev:.r)
:
$(Major)
,$(Minor)
,$(Patch)
的值是“变量”选项卡中的自定义变量,$(Rev:.r)
的值是内部版本号。
在这种情况下,程序包将为TestSample.1.0.0.5.nupkg
。
希望这会有所帮助。