23
votes

I need to load 2 versions of assembly Newtonsoft.Json version 4.0.8.0 and 4.5.0.0. My current config file :

<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.0.8.0" />
</dependentAssembly>

but it needs to be: old 4.0.8.0 and new 4.5.0.0

  <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.5.0.0" />
      </dependentAssembly>

I installed Newtonsoft from Package Console - the latest version - but it gives me an error:

Error 80 Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)**

2
I checked the JSON.net NuGet release information and I am not able to find the release 4.5.0.0 nuget.org/packages/newtonsoft.json Moreover if you already have the latest version of the library what is your need of using the older version?Manvik
Why do I remember everything being so much easier before nuget?Ronnie Overby

2 Answers

39
votes

I got this problem today, I found the solution in this link.

Basically update the Newtonsoft.Json package. And register this assembly in the web.config

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
    <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="5.0.8"/>
</dependentAssembly>
8
votes

I had the same problem after installing SignalR to my project. First I updated to the latest version of Newtonsoft.Json, and then I add the dependentAssembly to my web.config. But I had to put the value of 6.0.0.0 in the new Version, even if in my packages I have version 6.0.8 declared.

<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
  <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>