2017-01-11 17 views
2

私は検索して同様の質問を見つけましたが、指定された回答は私のためには機能しません。ユニットテストが失敗しました 'ファイルまたはアセンブリを読み込めませんでした' System.Net.Http、Version = 4.1.1.0 '

これは.NETコアに固有です。私はxUnitのと部品番号でユニットテストを書いていると私はスロー

例外のエラー取得しています:「System.IO.FileNotFoundException」

追加情報:ファイルまたはアセンブリ 「システムをロードできませんでしたが.Net.Http、Version = 4.1.1.0、Culture =ニュートラル、 PublicKeyToken = b03f5f7f11d50a3a 'またはその依存関係の1つ。 システムは、指定されたファイルを見つけることができません。

私のテストプロジェクトのproject.jsonファイルには、次のようになります。

{ 
    "version": "1.0.0", 
    "buildOptions": { 
     "debugType": "portable" 
    }, 
    "dependencies": { 
     "xunit": "2.2.0-beta2-build3300", 
     "dotnet-test-xunit": "2.2.0-preview2-build1029", 
     "My.App.DataAccess": "1.0.0", 
     "My.App.Domain": "1.0.0", 
     "My.App.Services": "1.0.0", 
     "My.App.WebApi": "1.0.0", 
     "Microsoft.AspNetCore.TestHost": "1.1.0", 
     "Moq": "4.5.30" 
    }, 
    "testRunner": "xunit", 

    "frameworks": { 
     "net462": {} 
    } 
} 

だけのユニットテストが失敗しています。主なアプリケーションは正常に動作します。私は手動でSystem.Netをproject.jsonに強制しようとしましたが、4.3.0のインストールを主張しています。私は4.1.1.0が必要だと思っているかどうか分からない。

編集:System.Net.Http.dllをWebApiプロジェクトのbinからTestプロジェクトのbinにコピーすると、すべて正常に動作することがわかりました。今、テストプロジェクト自体はSystem.Net.Http名前空間から何も使用しません.WebApiプロジェクトでテストされているメソッドだけがそれを参照します。

System.Net.Http.dllがbinフォルダにもコピーされていますか?もしそうなら、なぜビルドプロセス中にこれが起こっていないのですか?

+0

パッケージの復元中に警告が表示されますか? – Tseng

+0

すべてがちょっとしたことだ。 –

+0

この[質問](http://stackoverflow.com/questions/255669/how-to-enable-assembly-bind-failure-logging-fusion-in-net)で説明されているように、アセンブリバインディングログを確認できますなぜあなたのアプリはこの特定のバージョンを必要とします –

答えて

0

これはおそらく、これに関連している:https://github.com/dotnet/corefx/issues/9846

私はVS 2017に更新をお勧めしますし、System.Net.Httpアセンブリのための結合リダイレクトを行います。

+0

新しいcsproj構造体でバインディングリダイレクトを行うにはどうしたらいいですか?私はインターネット検索でそれにヒットしていません。 – Dagrooms

関連する問題