2015-10-25 6 views
6

私は、ASP 5 MVC 6 beta8で新しいプロジェクトを作成し、テスト用に互換性のあるクラスライブラリを作成しました。この問題は、私がテストに使用しようとしていたこの新しい "Web Class Library"プロジェクトで発生します。Nugetは新しい依存関係を見つけることができません

これは私のproject.jsonは、次のようになります。私は次のエラーを取得するコンパイル中

{ 
    "version": "1.0.0-*", 
    "description": "ClassLibrary1 Class Library", 
    "authors": [ "Me" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 
    "frameworks": { 
    "dnx451": { } 
    }, 
    "dependencies": { 
    "AutoFixture": "3.36.9", 
    "AutoFixture.AutoMoq": "3.36.9", 
    "Moq": "4.2.1510.2205" 
    } 
} 

Severity Code Description Project File Line Source 
Error NU1001 The dependency moq >= 4.1.1308.2120 could not be resolved. ClassLibrary1 Path\To\My\Solution\ClassLibrary1\project.json 1 Build 

これは私のプロジェクトの参照がどのように見えるかです:

enter image description here

私が問題と思うのは、AutoFixture.AutoMoqは、バージョン"4.1.1308.2120"Moqが必要です。 project.lock.jsonを参照してください:

"AutoFixture.AutoMoq/3.36.9": { 
    "type": "package", 
    "dependencies": { 
     "autofixture": "3.36.9", 
     "moq": "4.1.1308.2120" 
    }, 
    "compile": { 
     "lib/net40/Ploeh.AutoFixture.AutoMoq.dll": {} 
    }, 
    "runtime": { 
     "lib/net40/Ploeh.AutoFixture.AutoMoq.dll": {} 
    } 
    }, 

ただし、インストールMoqバージョンが"4.2.1510.2205"高くなっているので、エラーメッセージによると、それは問題ないはずですが、それはありません。

私はMoqを必要なバージョンにダウングレードしても問題ありませんが、最新のバージョンを使用したいと思います。私は最新のNugetパッケージマネージャをインストールし、VSとOSを再起動しましたが、いずれも助けになりませんでした。

どうすればいいですか?

EDIT

は、私はまた、通常のクラスライブラリを作成して上記の依存関係をインストールし、それを試して与えました。通常のクラスライブラリプロジェクトは正常に構築されます。

+0

これらの依存関係を持つプレーンなバニラコンソールアプリケーションまたはクラスライブラリを作成しようとするとどうなりますか?私は今試してみたところ、うまくコンパイルされていたので、私の仮説はASP 5 MVC 6に関連しているということです。結局、まだベータ版になっています。もしそうなら、あなたが報告しなければならないバグかもしれません。 –

+0

@マークセーマン私はそれを試してみました。私はそれをASP5チームに報告し、彼らの言うことを見るでしょう。 – gisek

+0

同じ問題が発生しました。 githubで問題を作成しましたか? rc1で問題は解決していますか? – Asik

答えて

2

更新:これは、AutoFixture.AutoMoq 3.41.0以降にアップグレードすることで修正できるようになりました。

オリジナル回答:project.lock.jsonのターゲットセクションで

AutoMoq要素は次のようになりますように、「MOQ」を活用:

残念ながら
"AutoFixture.AutoMoq/3.38.0": { 
    "type": "package", 
    "dependencies": { 
     "autofixture": "3.38.0", 
     "Moq": "4.1.1308.2120" 
    }, 

、あなたがこれを行う必要がありますロックファイルが再生成されるたびに再度実行されます。

0

同じプロジェクトに2つの異なるバージョンを使用することはできません。 *を使用して、アップグレードまたはダウングレードを許可できます。これを芸術的に見てくださいDependency-Resolution

+0

2つの異なるバージョンを持つことはできません。 '複数のいとこの依存関係を決定する場合、リゾルバはすべてのバージョン要件を満たす最低バージョンを使用します。 – SoftwareCarpenter

+0

正確なバージョンが必要です。下位バージョンを許可するには、 "Moq"のようなsomeyhingを指定する必要があります: "4.2。*" –

+0

あなたが答えてリンクしているドキュメントのベースは、2つの異なるバージョンを許可しないことについて何も言いません。 – SoftwareCarpenter

関連する問題