プロジェクトで非常に奇妙なエラーに直面しています。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)。プローブが終了しました。