17

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

4

1 回答 1

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 版本控制文档

于 2012-01-10T20:54:49.157 回答