2012-01-10 88 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