2012-03-24 16 views
2

DotNetOpenAuthバージョンを3.4.7.11121から4.0.0.12079-RC1にアップグレードしたところ、OAuth2のサポートを取得しました。問題は、アップグレード後に私のOpenID要求が機能しなくなったことです。最後の行は、以下にFileNotFoundException生成(ファイルまたはアセンブリをロードできませんでした=メッセージを「System.Web.Mvc、バージョン= 1.0.0.0、文化= PublicKeyTokenニュートラル= 31bf3856ad364e35」またはその依存関係の1つ。)OpenIDがver4にアップグレードした後にDotNetOpenAuthで動作しない

OpenIdRelyingParty openid = new OpenIdRelyingParty() 
var request = openid.CreateRequest(requestedIdentifier, Realm.AutoDetect, returnUrl); 
return request.RedirectingResponse.AsActionResult(); 

なぜそれがそのファイルを探すのか分かりません。私はMVC3アプリケーションでDotNetOpenAuthライブラリを使用しているため、3.0バージョンのSystem.Web.Mvcファイルがプロジェクトに存在します。

私はそれを動作させるために何ができるのですか?


更新日:この質問を投稿してから数時間後に安定版4.0.0.12084がリリースされました。 RCの代わりにそれをインストールしましたが、違いはありません。必要なDLLを取得するためにMVC ver 1.0をインストールしようとしました。インストール後、例外はスローされませんが、代わりにOpenIDサービスプロバイダへのリダイレクトの代わりに "DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult"というテキストを含む白いページが表示されます。私はこれを理解していない...

//パー・アンダーソン

+0

以下の回答をお手伝いした場合は、受け入れられた回答として記入してください。 –

答えて

2

Yeay、私は解決策を見つけました。 web.configにいくつかの行を追加してください。

<runtime> 
    <legacyHMACWarning enabled="0" /> 

    <!-- When targeting ASP.NET MVC 3, this assemblyBinding makes MVC 1 and 2 references relink 
     to MVC 3 so libraries such as DotNetOpenAuth that compile against MVC 1 will work with it. --> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
      <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
+0

これは私を助けました - ありがとう。 +1 –

関連する問題