2017-01-09 4 views
0

次のように私は、パッケージの依存関係の状況を持っている: エラー:依存パッケージが解決されないのはなぜですか?

は、パッケージの依存関係の情報を収集しようとすると「テストNugetパッケージの使用」を投影するに関して「PkgB.2.0.414」、=「.NETFramework、バージョンをターゲットにv4.5 ' DependencyBehavior' Lowest 'でパッケージ' PkgB.2.0.414 'の依存関係を解決しようとしています 依存関係' PkgC.1.0.0 'を解決できません。 'nuget.org'、 'C​​ompany Package source'、 'Local testing'、 'Microsoft and .NET'、 'Microsoft Visual Studio Offline Packages'などのソースが使用されています。

状況A: PkgA => PkgC

状況B:私はそれが動作状況Aをインストール PkgB => PkgA => PkgC

。状況Bをインストールすると動作します。しかし、AとBをインストールすると、既にインストールされていてうまく動作していても、Pkg Cを見つけることができません。

念頭に置いて、次の環境を保持:

これらは個別に別途微インストールするすべてのパッケージです。 この問題は、NuGetフィードサーバーを使用して発生します。 パッケージの共有をインストールのソースとして使用しても、この問題は発生しません。

ソース: バージョン管理と最も近いアルゴリズムについてはNuGetのドキュメントを見てきましたが、どのように違反しているのか分かりません。

https://docs.nuget.org/ndocs/consume-packages/dependency-resolution#dependency-resolution-in-nuget-3-x

そして、私は指定のバージョンがどちらかは問題でしょうか表示されません。 https://docs.nuget.org/ndocs/create-packages/dependency-versions#dependency-versions

私自身の結論:

を問題は、フィードサーバであり、それは依存関係を検索する方法のように思えます。私はgitのNuGet.Serverソースを見ていますが、まだ何も気づいていません。私はおそらくソースを引き下げて、それを理解することになるでしょう。

フィードソースの種類に関係なく、このような状況では機能しませんか?

編集:

これはプライベートnugetフィードと私は公に共有することができます任意のレポではありませんプライベートnugetsです。

ここで参照されるバージョン> =表記を使用して、状況全体で参照ツリーを構築しました。

<!-- Accepts any version 6.1 and above --> 
<dependency id="ExamplePackage" version="6.1" /> 
+0

PkgA、PkgB、PkgCはすべて依存パッケージですか、それとも依存関係に依存していますか?可能であれば、この問題を再現するために、これらのパッケージをここで共有してください(あなたのナゲットフィードではありません)。 –

+0

Wendy私は上記の依存関係をリストアップしましたが、依存関係ではありません。状況A:PkgA => PkgC 状況B:PkgB => PkgA => PkgCは、依存関係の行とインストールの状況です。 –

答えて

0

それはNugetキャッシュの組み合わせがローカルだいたように見えます。

次のコマンドを実行してクリアします。

VS2015は同じパッケージバージョンをインストールすることに不満を持ち続けました。私は1.0.0.0と1.0.0のバージョン管理を使いこなしていたので、これは意味があります。

https://docs.microsoft.com/en-us/nuget/consume-packages/managing-the-nuget-cache

私は、コマンドをそれぞれ発行し、再起動で完全にキャッシュを空にすることができました。それは今働き、私はもはや問題を取得しません。

+0

ここで回避策を教えていただきありがとうございます。後であなたの答えを記入してください。同じ問題を抱えている他のコミュニティにとっては有益です。 –

0

「この状況はフィードの種類に関係なく動作する」という意見に同意します。

インストールAとBの場合:状況BのPkg A、Pkg Cの依存バージョンの制約が状況Aと一致しているかどうかを確認してください。状況Aの高バージョンのPkg A、Pkg C最初にインストールして、状況依存性の低い状況Bをインストールすると、インストールは失敗します。同じ問題:Is there an OData dependency graph somewhere

フィードソースについて:NuGetフィードサーバーのPkg AとPkg Bのパッケージバージョンを確認して、パッケージ共有フォルダと一致していることを確認してください。

この問題が解決しない場合は、ちょうど私達にNuGetパッケージのIDを共有し、私は私の側でそれをREPROます:)

関連する問題