6

プロジェクトを MVC4 から MVC5 にアップグレードした後、以下のエラーが発生します。ASP.NET MVC 4 および Web API プロジェクトを ASP.NET MVC 5 および Web API 2 にアップグレードする方法に従いました。

Assembly 'WebServices.WebApi.External, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' この問題を解決するには?

4

6 に答える 6

1

You should check all references of WebServices.WebApi.External project. One of them may still use System.Web.Http version 4. Or, try binding it explicitly in web.config

 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
      </dependentAssembly>      
    </assemblyBinding>
  </runtime>
于 2013-11-07T16:24:50.487 に答える
0

同じ問題がありました。古い AttributeRouting パッケージを Nuget でアンインストールすることで解決しました。もちろん、もう必要ありません。

これも単体テストプロジェクトにありました。

于 2014-01-17T16:30:26.920 に答える
0

私の場合、面倒なバインディングをWeb.configファイルから削除しただけで、問題は解決しました。

web.configをバックアップしてから、名前dependentAssemblyの要素を含む要素を消去します。assemblyIdentitySystem.Web.Http

<dependentAssembly>
  <assemblyIdentity name="System.Net.Http" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>

それはすぐに私のために働きました。

于 2015-12-09T12:09:30.643 に答える