0

私は私のMVC 3 RCプロジェクトでCombresを使用して、私は私のウェブサーバーにデプロイするときにエラーが結合アセンブリを取得しています。なぜCombresはSystem.Web.Mvcの古いバージョンを探していますか?

System.IO.FileLoadException
は、ファイルまたはアセンブリ 'System.Web.Mvc、バージョン= 2.0.0.0、カルチャニュートラル、PublicKeyToken = = 31bf3856ad364e35' またはその依存関係の1つをロードできませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

<%= Html.CombresLink("commonJs") %>

私の開発マシンは、GACでMVC 1と2のアセンブリを持っているので、それが正常に動作します。 Webサーバーには、GACにMVCのバージョンはなく、MVC 3アセンブリをbin-deployしています。私のプロジェクト参照System.Web.Mvcのバージョン3.0.0.0、と私は私のweb.configファイルに次のセクションがあります。

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
      <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly xmlns=""> 
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
      <bindingRedirect oldVersion="2.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

私は、このセクションではなく、バージョン3.0.0.0を使用するようにCombresを言うだろうと思いました。アプリケーションが参照を解決できないのはなぜですか?

答えて

2

私はバインドリダイレクトがチェーンしないと思います - あなたはどこかに1.0への参照があり、configはそれが存在しない2.0をロードするように指示します。

oldVersionを「1.0.0.0-2.0.0.0」に設定して1つのバインディングリダイレクトが必要

関連する問題