2012-01-10 1 views
15

依存関係の1つを間違って指定したnugetパッケージをインストールしようとしています。 Common.Logging.Log4Netにはlog4net = 1.2.10が必要ですが、nugetパッケージではlog4net> = 1.2.10が指定されています。 Log4netの古いバージョンを手動でインストールしても、Common.Logging.Log4Netをインストールすると、nugetはlog4netを1.2.11にアップグレードします。どのようにして依存関係の解決を回避するか、少なくともインストールされたパッケージを十分なバージョンの方が好むように、ナゲットを取得できますか?どのようにしてナゲットの依存関係を更新できますか?

答えて

33

あなたは-IgnoreDependenciesオプションを使用することができ、依存関係の解決をバイパスするために:あなたは手で編集packages.configをして設定することにより、特定のバージョンにパッケージをロックすることができるはず

Install-Package -IgnoreDependencies ThePackageName 

をallowedVersions属性は、許可するバージョンの範囲を示します。

<package id="Common.Logging.Log4Net" version="1.2.10" 
    allowedVersions="[1.2,1.2.10]" /> 

ただし、明示的にパッケージを更新する場合でも、彼はパッケージのバージョンをアップグレードすることはありません。

バージョン管理の詳細については、nuget versioning documentationを参照してください。

関連する問題