Tl; drバージョン: 例外でスタックしています:System.IO.FileLoadException:ファイルまたはアセンブリを読み込めませんでした'DotNetOpenAuth.AspNet、バージョン4. 0 .0.0 .. ..
msftが新しいMVC4プロジェクトテンプレートの認証に非常に多くの静的クラスとメソッドを使用したことに少しがっかりしました。すべてのメンバーシップ/認証機能をインターフェイスを実装するクラスにラップして、単体テストをモックできるようにしたい。
数晩苦労した後、最初から始めることにしたので、すべてのDotNetOpenAuth*アセンブリ参照とnugetpackage.config参照を削除しました。同様に、Micrsoft.Aspnet.WebPages.OAuth.dllへのすべての参照を削除しました。
パッケージの再インストール: dll参照を必要とするソリューション内の3つのプロジェクトに対してinstall-packagedotnetopenauth.aspnet を実行します。
ラッパーにはMicrosoft.AspNet.WebPages.OAuth(.dll).OAuthWebSecurity.RegisteredClientDataをラップするメソッドがあるため、ソリューションはビルドされません。したがって、このアセンブリへの参照が必要なので、install- packagemicrosoft.aspnet.webpagesを実行します。同じ3つのプロジェクトに対する.oauth。
ソリューションはビルドされますが、Microsoft.AspNet.WebPages.OAuth(.dll).OAuthWebSecurity.RegisteredClientDataを参照して単体テストを実行すると、ランタイム例外が発生します: System.IO.FileLoadException:ファイルまたはアセンブリを読み込めませんでした'DotNetOpenAuth.AspNet、バージョン4. 0.0.0 ..。
3つのプロジェクトすべてでのこのアセンブリへの参照は4.1.0.0を参照し、web.configのDotNetOpenAuth.AspNetassemblyIdentityも参照します。
テストを実行するためにresharperを使用していますが、テストはnunitスタイルです。
そして最後に、fuslogvwで見たもののペーストがあります。明らかに何かが4.0.0.0を探していますが、それについて何をすべきか、何をすべきか理解できません(このダンプで参照されている一時データフォルダーを数回削除しました):
** * **アセンブリバインダーログエントリ(2012年11月13日午後10時4分54秒)** * ** * ** * ** *
操作は失敗しました。バインド結果:hr=0x80131040。説明はありません。
アセンブリマネージャーの読み込み元:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ clr.dll実行可能ファイルC:\ Program Files(x86)\ JetBrains \ ReSharper \ v7.0 \ Bin\JetBrains.ReSharper.TaskRunnerで実行.CLR4.MSIL.exe---詳細なエラーログは次のとおりです。
===事前バインド状態情報===ログ:ユーザー= i7 \ daveログ:DisplayName = DotNetOpenAuth.AspNet、バージョン= 4.0.0.0、カルチャー=ニュートラル、PublicKeyToken = 2780ccd10d57b246(完全に指定)ログ:Appbase =ファイル: /// C:/SVN/trunk/SoAndSo45/SoAndSo.Com.Tests.Unit/bin/Debugログ:初期PrivatePath = NULLログ:動的ベース= NULLログ:キャッシュベース= C:\ Users \ dave \ AppData \ Local \ Temp \ kpsvgxtp.io4ログ:AppName = SoAndSo.Com.Tests.Unit
アセンブリの呼び出し:SoAndSo.Com.Tests.Unit、Version = 1.0.0.0、Culture = neutral、PublicKeyToken=null。
ログ:このバインドは、デフォルトのロードコンテキストで開始されます。ログ:アプリケーション構成ファイルが見つかりません。ログ:ホスト構成ファイルの使用:ログ:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config\machine.configのマシン構成ファイルを使用します。ログ:ポリシー後の参照:DotNetOpenAuth.AspNet、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = 2780ccd10d57b246ログ:GACルックアップが失敗しました。ログ:新しいURLファイルのダウンロードを試みています:/// C:/SVN/trunk/SoAndSo45/SoAndSo.Com.Tests.Unit/bin/Debug/DotNetOpenAuth.AspNet.DLL。ログ:アセンブリのダウンロードは成功しました。ファイルのセットアップを試みています:C:\ SVN \ trunk \ SoAndSo45 \ SoAndSo.Com.Tests.Unit \ bin \ Debug \ DotNetOpenAuth.AspNet.dllログ:ダウンロードキャッシュセットアップフェーズに入ります。ログ:アセンブリ名は次のとおりです:DotNetOpenAuth.AspNet、Version = 4.1.0.0、Culture = neutral、PublicKeyToken = 2780ccd10d57b246 WRN:アセンブリ名を比較すると、不一致が発生しました。マイナーバージョンERR:アセンブリ参照が見つかったアセンブリ定義と一致しませんでした。ERR:セットアップはhr=0x80131040で失敗しました。ERR:アセンブリのセットアップを完了できませんでした(hr = 0x80131040)。プローブが終了しました。
ありがとう!