プロジェクトで非常に奇妙なエラーに直面しています。DotnetOpenAuth.AspnetおよびMicrosoft.AspNet.WebPages.OAuthライブラリのnugetパッケージをインストールしました。プロジェクトを実行しても問題はありません。しかし、コントローラーのテストを作成すると、次のような例外がスローされます。
テストメソッドMvcApplication2.Tests.ControllerTest.should_return_not_empty_contentが例外をスローしました:
System.IO.FileLoadException: Could not load file or assembly 'DotNetOpenAuth.AspNet, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246'
or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
もう1つの奇妙な点は、MVC3アプリケーションとしてVS 2010でプロジェクトをセットアップし、テストに合格した場合です。失敗はありません。しかし、VS2012でまったく同じセットアップを実行すると、上記と同じエラーが発生します。stackoverflowで検索すると、この解決策 が見つかりましたが、どちらも機能しませんでした。
次の行にすべてのプロジェクトとサンプルテストがあります。これは、1つのアプリと1つのテストプロジェクトです。とても読みやすいです。
また、コントローラーと失敗したテスト用のサンプルコードをここに追加しました。
コードプレビューのペーストビンリンクはhttp://pastebin.com/1PCpq3hWです。
どんな助けでもいただければ幸いです。
Vs2010および2012の失敗および成功したプロジェクト
次のような詳細なログ結果
***アセンブリバインダーログエントリ(13.12.2012 @ 22:27:31)*** 操作は失敗しました。 バインド結果:hr=0x80131040。説明はありません。 アセンブリマネージャーの読み込み元:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ clr.dll 実行可能ファイルC:\ Program Files(x86)\ JetBrains \ ReSharper \ v7.0 \ Bin\JetBrains.ReSharper.TaskRunner.CLR4.exeで実行 ---詳細なエラーログが続きます。 ===バインド状態情報=== ログ:ユーザー=開発者-PC \ DEVELOPER ログ:DisplayName = DotNetOpenAuth.AspNet、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = 2780ccd10d57b246 (完全に指定) ログ:Appbase = file:/// D:/Development/Coachius/CoachiusWeb.Tests/bin/Debug ログ:初期PrivatePath = NULL ログ:動的ベース= NULL ログ:キャッシュベース= NULL ログ:AppName = NULL アセンブリの呼び出し:CoachiusWeb、Version = 1.0.0.0、Culture = neutral、PublicKeyToken=null。 === ログ:このバインドは、デフォルトのロードコンテキストで開始されます。 ログ:アプリケーション構成ファイルの使用:D:\ Development \ Coachius \ CoachiusWeb.Tests \ bin \ Debug \ CoachiusWeb.Tests.dll.config ログ:ホスト構成ファイルの使用: ログ:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config\machine.configのマシン構成ファイルを使用しています。 ログ:ポリシー後の参照:DotNetOpenAuth.AspNet、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = 2780ccd10d57b246 ログ:GACルックアップは失敗しました。 ログ:新しいURLファイルのダウンロードを試みています:/// D:/Development/Coachius/CoachiusWeb.Tests/bin/Debug/DotNetOpenAuth.AspNet.DLL。 ログ:アセンブリのダウンロードは成功しました。ファイルのセットアップを試みています:D:\ Development \ Coachius \ CoachiusWeb.Tests \ bin \ Debug \ DotNetOpenAuth.AspNet.dll ログ:ソースから実行のセットアップフェーズに入ります。 ログ:アセンブリ名は次のとおりです:DotNetOpenAuth.AspNet、Version = 4.1.0.0、Culture = neutral、PublicKeyToken = 2780ccd10d57b246 WRN:アセンブリ名を比較すると、不一致が発生しました:マイナーバージョン エラー:アセンブリ参照が、見つかったアセンブリ定義と一致しませんでした。 ERR:ソースからの実行セットアップフェーズがhr=0x80131040で失敗しました。 ERR:アセンブリのセットアップを完了できませんでした(hr = 0x80131040)。プローブが終了しました。