Azure DevOps-私有NuGet feed不会更新稳定版本

时间:2019-05-03 21:09:00

标签: azure-devops nuget

我在this guide之后在Azure DevOps中创建了私有的NuGet提要,并创建了带有dotnet packdotnet nuget push步骤的构建管道。运行几次构建后,新版本将显示在Artifacts >> MyFeed >> Versions下。我将一些版本手动升级到@Release

这是DevOps中的视图: DevOps NuGet feed details

但是,当我连接到Visual Studio中的feed时,我只会看到版本1.0.0是稳定版本,但是所有更高版本(通过我的构建管道发布)都仅在我选中“ include预发布”选项。这是屏幕截图:

Visual Studio NuGet package details

我的问题是:

1-如何手动将版本升级到稳定版本?
2-如何通过构建或发布管道将版本升级到稳定版本?

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软件包时,有一个自动软件包版本控制选项:

enter image description here

更新

因此,请尝试在自动软件包版本控制中使用选项使用内部版本号选项。

然后,在内部编号格式选项中,可以将其设置为$(Major).$(Minor).$(Patch)$(Rev:.r)

enter image description here

$(Major)$(Minor)$(Patch)的值是“变量”选项卡中的自定​​义变量,$(Rev:.r)的值是内部版本号。

在这种情况下,程序包将为TestSample.1.0.0.5.nupkg

希望这会有所帮助。