17

依存関係の 1 つが正しく指定されていない nuget パッケージをインストールしようとしています。Common.Logging.Log4Net には log4net = 1.2.10 が必要ですが、nuget パッケージでは log4net >= 1.2.10 が指定されています。古いバージョンの log4net を手動でインストールしても、Common.Logging.Log4Net をインストールすると、nuget によって 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 に答える