Как я могу сохранить Nuget от обновления зависимостей?
Я пытаюсь установить пакет nuget, в котором неправильно указана одна из его зависимостей. Common.Logging.Log4Net требует log4net = 1.2.10, однако пакет nuget указывает log4net >= 1.2.10. Даже если я вручную установлю старую версию log4net, при установке Common.Logging.Log4Net nuget обновит log4net до версии 1.2.11. Как я могу заставить nuget обходить разрешение зависимостей или хотя бы отдавать предпочтение установленным пакетам достаточной версии?
1 ответ
Чтобы обойти разрешение зависимости, вы можете использовать -IgnoreDependencies
опция:
Install-Package -IgnoreDependencies ThePackageName
У вас должна быть возможность заблокировать пакет для определенной версии, отредактировав вручную файл packages.config и установив атрибут allowVersions, чтобы указать диапазон версий, который вы хотите разрешить.
<package id="Common.Logging.Log4Net" version="1.2.10"
allowedVersions="[1.2,1.2.10]" />
Обратите внимание, что он, однако, не будет обновлять версию пакета вообще, даже при явном обновлении пакета.
См. Документацию по версиям Nuget для получения дополнительной информации о версиях.