Как я могу сохранить nuget для обновления зависимостей?

Я пытаюсь установить пакет nuget, который неправильно указал одну из этих зависимостей. Common.Logging.Log4Net требует log4net = 1.2.10, однако пакет nuget указывает log4net >= 1.2.10. Даже если я вручную устанавливаю более старую версию log4net, nuget обновляет log4net до 1.2.11, когда я устанавливаю Common.Logging.Log4Net. Как я могу заставить nuget обходить разрешение зависимостей или, по крайней мере, предпочитать установленные пакеты достаточной версии?

Ответы

Ответ 1

Чтобы обойти разрешение зависимостей, вы можете использовать опцию -IgnoreDependencies:

Install-Package -IgnoreDependencies ThePackageName

Вы должны иметь возможность заблокировать пакет для конкретной версии, вручную отредактировав package.config и установив атрибут allowedVersions, чтобы указать диапазон версий, который вы хотите разрешить.

<package id="Common.Logging.Log4Net" version="1.2.10" 
     allowedVersions="[1.2,1.2.10]" />

Обратите внимание, что он, однако, не обновит версию пакета даже при явном обновлении пакета.

Дополнительную информацию об управлении версиями см. в документации по версированию nuget.