Итак, InformationalVersion
устанавливается в соответствии с форматом, указанным assembly-informational-format
. Так что, вероятно, причина ошибки.
Например, я сделал что-то вроде:
assembly-informational-format: '{MajorMinorPatch}{PreReleaseTagWithDash}+{ShortSha}'
Затем, когда я запускаю GitVersion, я получаю обратно:
"InformationalVersion":"2.0.0-convert-to-netcore.9+abc123"
Опять же, в документации неясно, какие переменные можно использовать как часть интерполяции строк, а какие переменные задаются различными полями формата.
ОБНОВЛЕНИЕ
Я заметил, что мой ответ противоречит документации GitVersion. Однако мой опыт показал мне, что установка assembly-informational-format
влияет на значение InformationalVersion
, хотя InformationalVersion
считается переменной и может использоваться в интерполяции. Я думаю, что это может быть ошибкой в документации GitVersion. Или, в лучшем случае, InformationalVersion
можно использовать в качестве переменной в других форматах, но, поскольку assembly-informational-format
определяет окончательное значение InformationalVersion
, эту переменную нельзя использовать в значении конфигурации assembly-informational-format
.
Еще одно обновление
Хорошо, я понял, что, хотя документация могла бы быть лучше, я ошибочно полагал, что GitVersion фактически делает / предоставляет. Это не волшебный c (ну, вроде как;)), он требует работы с вашей стороны.
GitVersion просто вычисляет некоторые поля версий для SemVer и выводит эти вычисления в JSON объект при запуске GitVersion.exe
(при использовании исполняемого файла). GitVersion также предоставляет несколько различных общих «ma sh -ups» этих полей, например, MajorMinor
, MajorMinorPatch
, et c. также предоставляет несколько способов форматирования полных номеров версий, например, assembly-file-versioning-format
и assembly-informational-format
. Но, в конце концов, результаты всего этого выводятся в JSON объект.
Это ваша ответственность за выбор и выбор из этого JSON объекта, как построить номер вашей версии. Итак, если вы хотите использовать строку из InformationalVersion
в качестве версии пакета NuGet (для каналов пакета v3), которая основана на формате, указанном в assembly-informational-format
, это ваш выбор.
GitVersion предоставляет инструкции по как вы можете преобразовать этот JSON объект в переменные сборки или переменные среды, к которым можно получить доступ из процесса сборки. До вас вы можете настроить свою сборку на использование этих значений для достижения желаемой схемы управления версиями. Но GitVersion только рассчитывает номер основной / вспомогательной версии / патча и пытается помочь вам отформатировать предварительный выпуск и создать теги метаданных.
Это открытие, безусловно, помогло мне лучше понять, как настроить GitVersion и использовать его в моих процессах сборки .