如何让nuget不再更新依赖项?

Jef*_*ker 17 nuget common.logging

我正在尝试安装一个nuget包,它错误地指定了它的一个依赖项.Common.Logging.Log4Net需要log4net = 1.2.10,但是nuget包指定log4net> = 1.2.10.即使我手动安装旧版本的log4net,当我安装Common.Logging.Log4Net时,nuget也会将log4net升级到1.2.11.我怎样才能让nuget绕过依赖解析或者至少更喜欢安装了足够版本的软件包?

PHe*_*erg 35

为了绕过依赖项解析,您可以使用以下-IgnoreDependencies选项:

Install-Package -IgnoreDependencies ThePackageName
Run Code Online (Sandbox Code Playgroud)

您应该能够通过手动编辑packages.config并设置allowedVersions属性来指定要允许的版本范围,从而将程序包锁定到特定版本.

<package id="Common.Logging.Log4Net" version="1.2.10" 
     allowedVersions="[1.2,1.2.10]" />
Run Code Online (Sandbox Code Playgroud)

请注意,即使明确更新包,他也不会升级包的版本.

有关版本控制的更多信息,请参阅nuget版本控制文档.