Как я могу сохранить Nuget от обновления зависимостей? - PullRequest
16 голосов
/ 11 января 2012

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

1 Ответ

35 голосов
/ 11 января 2012

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

Install-Package -IgnoreDependencies ThePackageName

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

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

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

См. документацию по версиям Nuget для получения дополнительной информации о версиях.

...