0

My website gives...

Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

... and yet in web.config, I have...

<runtime xmlns="">
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

The version of System.Web.Http referenced by the project is 5.2.3.0.

I think I added this redirect before to fix this exact issue, but now it's not working. Any ideas?

Contents of packages.config...

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="AspNetMvc" version="4.0.20710.0" targetFramework="net4" />
  <package id="CommonServiceLocator" version="1.3" targetFramework="net461" />
  <package id="JsonValue" version="0.6.0" targetFramework="net4" />
  <package id="Microsoft.AspNet.Mvc" version="4.0.30506.0" targetFramework="net461" />
  <package id="Microsoft.AspNet.Razor" version="2.0.20715.0" targetFramework="net4" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net4" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net4" />
  <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net461" />
  <package id="Unity" version="4.0.1" targetFramework="net461" />
  <package id="Unity.Mvc4" version="1.6.0.0" targetFramework="net461" />
  <package id="Unity.WebAPI" version="5.2.3" targetFramework="net461" />
</packages>
Ian Warburton
  • 15,170
  • 23
  • 107
  • 189

1 Answers1

0

Many hours later I discovered that this error only appears on my default route and only on my dev machine. It was probably doing it all along and I assumed that something had changed after I re-checked out the code.

What is a word for this?

Ian Warburton
  • 15,170
  • 23
  • 107
  • 189