Как запретить NuGet Push изменить номер версии моего пакета?

Я использую TFS для отправки пакета NuGet во внутренний канал, и он отлично работает, за исключением того, что он обрезает последнюю цифру номера версии для пакета.

Вот что я получаю в файле журнала:

2017-01-12T14: 22: 47.5046993Z [команда] C: \ BuildAgent \ tasks \ NuGetPublisher \ 0.2.21 \ node_modules \ nuget-task-common \ NuGet \ 3.3.0 \ NuGet.exe push -NonInteractive C: \ BuildAgent_work \ 17 \ b \ MyNugetPackageExample. 3.0.0.0 .nupkg -Source \\ MyExampleServer \ MyExampleShare \ MyExampleNuGetFeed -ApiKey VSTS 2017-01-12T14: 22: 47.9734608Z Отправка MyNugetPackageExample 3.0.0 < / strong> в '\\ MyExampleServer \ MyExampleShare \ MyExampleNuGetFeed' ... 2017-01-12T14: 22: 48.0047074Z Ваш пакет был отправлен.

Журнал показывает, что номер версии в файле пакета, который я создал, - 3.0.0.0, но когда он нажимает, он изменился на 3.0.0. Это означает, что я получаю имя файла MyNugetPackageExample.3.0.0.nupkg, которое отличается от исходной версии.

Ничего не стоит, что до обновления сервера TFS до последней версии все это работало нормально. Управление версиями наших сборок нестандартное, поэтому нам нужны все 4 цифры в пакете NuGet.

Как я могу заставить его перестать возиться с именем файла пакета?

Дополнительная информация (13.01.2017):

Оказывается, пакет MyNugetPackageExample.3.0.0.0.nupkg, созданный NuGet Packager, использует версию 3.0.0 в файле NuSpec, когда параметр -version был явно установлен на 3.0.0.0, а созданный файл имеет 3.0.0.0 в имя файла.

Когда пакет отправляется, он обновляет имя файла, чтобы использовать версию, содержащуюся в файле NuSpec.


person John0987    schedule 12.01.2017    source источник


Ответы (1)


Если вы посмотрите tihs документацию NuGet, вы можете прочитать «Ноль в четвертой части номера версии будет опущен»:

1.0.0.0 рассматривается как 1.0.0
1.0.01.0 обрабатывается как 1.0.1

person Jeroen Heier    schedule 12.01.2017
comment
Странно, что в нем говорится, что это критическое изменение для NuGet 3.4, но я вижу проблему с NuGet 3.3. Также говорится, что эта нормализация не влияет на номера версий в самих пакетах; это влияет только на то, как NuGet сопоставляет версии. Когда я смотрю на созданный исходный пакет, он имеет правильный номер версии в имени файла (3.0.0.0), но «версия» в файле NuSpec усечена (до 3.0.0). - person John0987; 13.01.2017