Есть ли настройка на сервере proget nuget, чтобы он учитывал версию 1.0.1.0 = 1.0.1?

Есть ли какие-либо настройки на сервере proget nuget, которые могут заставить его обрабатывать версию 1.0.1.0 = 1.0.1

Таким образом, в основном, когда любой из пакетов версии пытается восстановить, он возвращает пакет версии 1.0.1.0.

Потому что у меня есть пакет с версией 1.0.1.0 в моем проекте, но всякий раз, когда я пытаюсь его восстановить, он всегда пытается искать 1.0.1, пропуская последний ноль, и поэтому выдает ошибку, что пакет не существует. Потому что сервер proget имеет версию 1.0.1.0.

Это работает, когда я использую свою локальную папку в качестве источника nuget в Visual Studio. Потому что из локальной папки восстанавливает версию 1.0.1.0 потому что вроде для локальной папки как-то лечит 1.0.1.0 = 1.0.1

Есть идеи?


person Pawan Nogariya    schedule 21.07.2020    source источник
comment
Пожалуйста, попробуйте сначала очистите кеши nuget или удалите все файлы под C:\Users\xxx\.nuget\packages   -  person Mr Qian    schedule 22.07.2020
comment
Вы использовали старый nuget cli ‹= nuget v 3.3.0 для упаковки пакета 1.0.1.0. Поскольку nuget cli v3.4.4, vs и nuget будут игнорировать четвертый узел, если он равен нулю. См. этот документ. Однако, когда вы загрузите пакет в proget, он все равно сохранит четвертый узел. Итак, ошибка возникает   -  person Mr Qian    schedule 22.07.2020
comment
Привет, парень, какие-нибудь обновления по этой проблеме?   -  person Mr Qian    schedule 23.07.2020


Ответы (1)


Есть ли настройка на сервере proget nuget, чтобы он учитывал версию 1.0.1.0 = 1.0.1?

Сервер ProGet nuget не позволяет учитывать версию 1.0.1.0 = 1.0.1.

Я думаю, что пакет упакован на старом nuget cli <=v 3.3.0. А поскольку nuget v3.4.4, nuget автоматически удалит четвертый узел, если он ноль.

И последние VS и nuget будут игнорировать четвертый нулевой узел версии пакета, если вы установите версию пакета 1.0.1.0. См. этот официальный документ Microsoft.

Поэтому, если вы установите его из локального источника или nuget.org, на этих источниках он удалит последний ноль из исходного пути.

Однако на сервере ProGet (сторонний сервер nuget, а не Microsoft) по-прежнему сохраняется четвертый нулевой узел версии пакета. Поэтому, когда вы устанавливаете этот пакет на VS, он показывает версию 1.0.1.0 в файле packages.config, а когда вы его восстанавливаете, он находит версию 1.0.1 с момента нового правила nuget.

И на самом деле, когда вы включаете исходный код пакета ProGet, он по-прежнему может найти версию 1.0.1.0. С моей стороны, несмотря на то, что он по-прежнему показывает версию 1.0.1.0, а vs должен ловить 1.0.1 во время процесса восстановления, проект все равно будет работать хорошо.

Так что я подозреваю, что между вами и моим окружением есть какое-то отклонение.

Это мой тестовый процесс:

Для примера

Это мой пакет:

введите здесь описание изображения

В VS показывает версию 1.0.1.

введите здесь описание изображения

Но на сервере ProGet nuget отображается версия 1.0.1.0.

введите здесь описание изображения

Предложение

Сначала попробуйте сначала очистите кеши nuget или удалите все файлы под C:\Users\xxx\.nuget\packages.

Затем включите источник пакета сервера proget nuget и не забудьте проверить его:

введите здесь описание изображения

============================================

Если вы все еще сталкиваетесь с ошибкой, вы можете выполнить следующие действия:

В качестве предложения вы можете загрузить свой пакет на nuget.org, и он автоматически отберет ваш пакет до версии 1.0.1, а затем синхронизируется с сервером nuget ProGet.

Когда я загружаю версию 1.0.1.0 на nuget.org, отображается версия 1.0.1:

введите здесь описание изображения

person Mr Qian    schedule 22.07.2020