Автоматическое обновление зависимостей пакетов NuGet - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть личный пакет NuGet, который я устанавливаю в существующий проект. Проект уже содержит несколько зависимостей, которые требуются частному пакету NuGet, но в более низкой версии, чем требуется для частного пакета. Когда я пытаюсь установить приватный пакет, установка выдает ошибку (без номера ошибки)

Ошибка восстановления пакета. Откат изменений пакета для 'ConsoleApp1'.

В выводе менеджера пакетов он сообщает

Обнаружено понижение пакета

Поскольку Пакет, на который он ссылается, является пакетом publi c на NuGet.org. Я ожидаю, что как минимум будет предложено обновить зависимость во время процесса установки вместо ошибок и отката. Я знаю, что пакеты, которые еще не включены в проект, устанавливаются автоматически, и я вижу это в журналах.

Я видел другие публикации этого диапазона, от игнорирования предупреждения / ошибки до предварительной сборки. скрипт, который выполняет обновление (которое не является опцией для установки новых пакетов)

Может ли менеджер пакетов быть проинструктирован автоматически обновлять существующие пакеты как минимум до минимальной версии, определенной списком зависимостей?

1 Ответ

0 голосов
/ 16 февраля 2020

Не бойся.

Это не совсем тривиальная проблема для решения - предположим, что она использует предложенный вами подход, и ваш проект в настоящее время ссылается на packageA v1.0.0 и packageB v1.0.0.

Вы добавляете Новый пакет с зависимостью от package A v2.0.0.

Он предлагает вам обновить packageA с 1.0.0 до 2.0.0, чтобы избежать понижения. Но package A 2.0.0 имеет новую зависимость от packageB в 2.0.0, что вызывает понижение рейтинга для этого пакета.

Каждое новое обновление по очереди может вызывать новые обновления. Вы также можете спроектировать сценарий ios, где нет даже способа обновить другие пакеты, чтобы все это работало. Кроме того, все это требует извлечения большого количества информации из источника вашего пакета.

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

...