How to fix json.net (Newtonsoft.Json) runtime file load exception

3

I get the following exception every time I run my project:

An exception of type 'System.IO.FileLoadException' occurred in mscorlib.dll but was not handled in user code Additional information: 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)

I tried almost every solution I could find on the web.

My packages.config file:

<package id="Newtonsoft.Json" version="8.0.2" targetFramework="net451" />

and this in web.config file:
 <assemblyIdentity name="Newtonsoft.Json" PublicKeyToken="30ad4fe6b2a6aeed"  />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="5.0.8"/>
      </dependentAssembly>

I even used the following commands to update/reinstall json.net:

update-package Newtonsoft.Json -reinstall
update-package Newtonsoft.Json

What else I can try?

c#
.net
json.net
fileloadexception
asked on Stack Overflow Feb 16, 2016 by Alcor s • edited Feb 16, 2016 by Sabuncu

4 Answers

3

Change your binding redirect newVersion and oldVersion to match the version of Json.net your are trying to use:

  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" PublicKeyToken="30ad4fe6b2a6aeed"  />
    <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
  </dependentAssembly>

4.5 is the framework version, not the version of Json.net

answered on Stack Overflow Feb 16, 2016 by NikolaiDante • edited Feb 16, 2016 by NikolaiDante
0

Thanks everyone, I found the problem. I did not add culture="neutral" when I put this in web.config.

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" PublicKeyToken="30ad4fe6b2a6aeed"  />
    <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
  </dependentAssembly>
answered on Stack Overflow Feb 17, 2016 by Alcor s
0

I had this issue and upon closer inspection I realized that somehow Newtonsoft had gotten added twice as a

<dependentAssembly>..</dependentAssembly>

in my web.config file. I had version 8.0 and 9.0 entries. I believe the 2nd entry was created when I updated from 8.0 to 9.0. A new entry was automatically created, however the old entry was not removed.

answered on Stack Overflow Jul 28, 2016 by Pete
0

I had the same issue holding up I just installed the Nuget Package 'Newtonsoft.json', for my project. And it get solved

answered on Stack Overflow Aug 8, 2018 by Anjali Musmade

User contributions licensed under CC BY-SA 3.0