У меня есть два решения: SolutionA и SolutionB (в отдельных репозиториях).Оба решения имеют зависимости от Package1, но проекты в SolutionA используют версию 1.0.0 этого пакета, а проекты в SolutionB используют 2.0.0.
Теперь возникает необходимость упаковать и опубликовать пакет NuGet библиотекив SolutionB, который будет использоваться в библиотеках SolutionA.
Как и ожидалось, при попытке этого я вижу ошибку понижения.Поэтому я решил понизить версию Package1 в SolutionB до версии 1.0.0.Код все еще компилируется;нет никаких плохих побочных эффектов во время выполнения.Затем я упаковываю, публикую и пытаюсь повторно выполнить редактирование SolutionA : на этом этапе я попытался переустановить самую последнюю версию пакета SolutionB NuGet, удалив его полностью, а затем переустановив и просто понизив версию непосредственно в диспетчере пакетов NuGet (з / е это называется ..) в VS
В этот момент я все еще вижу ошибку понижения, ссылаясь на то, что зависимость SolutionB использует более высокую версию, но в действительностибольше нет.Почему?
Halp !!
edit: добавление ошибки для справки.Я выбрал Newtonsoft.Json для демонстрации.Это легко воспроизвести с помощью любого пакета NuGet с несколькими версиями
Ошибка NU1605 Обнаружено понижение пакета: Newtonsoft.Json с 11.0.2 до 9.0.1.Ссылка на пакет прямо из проекта, чтобы выбрать другую версию.TestProjectA -> TestProjectB 1.0.0 -> Newtonsoft.Json (> = 11.0.2) TestProjectA -> Newtonsoft.Json (> = 9.0.1)
Зависимости TestProjectA от NuGet:
Зависимости TestProjectB NuGet: