Как я могу не дать Nuget обновлять зависимости?
-
26-10-2019 - |
Вопрос
Я пытаюсь установить пакет Nuget, который неправильно указал одну из его зависимостей. Common.logging.log4net требует log4net = 1.2.10 Однако пакет Nuget указывает log4net> = 1.2.10. Даже если я вручную установлю более старую версию log4net, Nuget улучшает log4net до 1.2.11, когда я устанавливаю common.logging.log4net. Как я могу заставить Nuget обходить разрешение зависимости или, по крайней мере, предпочитать установленные пакеты достаточной версии?
Решение
Чтобы обойти разрешение зависимости, вы можете использовать -IgnoreDependencies
вариант:
Install-Package -IgnoreDependencies ThePackageName
Вы должны быть в состоянии заблокировать пакет на определенную версию, редактируя вручную The Packages.config и установив атрибут Althversions, чтобы указать пролет, который вы хотите разрешить.
<package id="Common.Logging.Log4Net" version="1.2.10"
allowedVersions="[1.2,1.2.10]" />
Обратите внимание, что его воля, однако, вообще не обновляет версию пакета, даже при явном обновлении пакета.
Увидеть NUGET VERSIONSING DOCUMCATION Для получения дополнительной информации о управлении версиями.