Azure DevOps - частный канал NuGet не обновляет стабильный выпуск - PullRequest
1 голос
/ 04 мая 2019

Я создал частный фид NuGet в DevOps Azure, следуя этому руководству , и создал конвейер сборки с шагами dotnet pack и dotnet nuget push. После запуска сборки несколько раз новые версии отображаются под Artifacts >> MyFeed >> Versions. Я продвинул некоторые версии вручную до @Release.

Вот вид в DevOps: DevOps NuGet feed details

Но когда я подключаюсь к каналу в Visual Studio, я вижу только версию 1.0.0 как стабильный выпуск, но все более поздние версии (которые публикуются через мой конвейер сборки) отображаются только в том случае, если я проверяю «include pre». выпуск »вариант. Вот скриншот:

Visual Studio NuGet package details

Мои вопросы:

1 - как вручную повысить версию до стабильной?
2 - как я могу повысить версию до стабильной с помощью конвейера сборки или выпуска?

Ответы [ 2 ]

1 голос
/ 06 мая 2019

Azure DevOps - частный фид NuGet не обновляет стабильный выпуск

Точно так же, как zivkan сказал: « что-либо после того, как символ - сигнализирует о предварительной версии. ». Вы можете проверить документ nuget Управление версиями пакета для некоторых деталей.

1 - как вручную повысить версию до стабильной?

Вы можете загрузить этот пакет из ленты новостей, затем изменить версию пакета на стабильную, а затем повторно передать ее в ленту новостей.

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.

Надеюсь, это поможет.

1 голос
/ 04 мая 2019

NuGet использует Semantic Versioning 2.0, который говорит, что что-либо после символа - сигнализирует о предварительной версии.Поэтому 1.0.1-CI является предварительной версией, тогда как 1.0.1 будет релизной версией.Если вы хотите построить метаданные в строке версии, вы должны использовать символ +, опять же, как это определено SemVer2.

edit: обратите внимание, что метаданные SemVer не вносят вклад в сравнение версий, поэтому 1.2.3+CI.1 считаетсяЖЕ версия как 1.2.3+CI.2

...