我正在尝试安装一个错误地指定其中一个依赖项的nuget包。 Common.Logging.Log4Net需要log4net = 1.2.10,但是nuget包指定log4net> = 1.2.10。即使我手动安装旧版本的log4net,当我安装Common.Logging.Log4Net时,nuget也会将log4net升级到1.2.11。如何让nuget绕过依赖项解析或者至少更喜欢安装了足够版本的软件包?
答案 0 :(得分:35)
为了绕过依赖项解析,您可以使用-IgnoreDependencies
选项:
Install-Package -IgnoreDependencies ThePackageName
您应该能够通过手动编辑packages.config并设置allowedVersions属性来指定要允许的版本范围,从而将程序包锁定到特定版本。
<package id="Common.Logging.Log4Net" version="1.2.10"
allowedVersions="[1.2,1.2.10]" />
请注意,即使明确更新软件包,他也不会升级软件包的版本。
有关版本控制的详细信息,请参阅nuget versioning documentation。