2012-01-10 54 views
15

我正在尝试安装一个nuget包,它错误地指定了它的一个依赖关系。 Common.Logging.Log4Net需要log4net = 1.2.10,但nuget软件包指定log4net> = 1.2.10。即使我手动安装旧版本的log4net,当我安装Common.Logging.Log4Net时,nuget将log4net升级到1.2.11。我如何获得nuget以绕过依赖关系解决方案,或至少首选已安装的足够版本的软件包?如何保持nuget更新依赖关系?

回答

33

为了绕过依赖性解析您可以使用-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

相关问题