Could not load file or assembly 'Newtonsoft.Json, Version=7.0.0.0

74,040

Solution 1

A lot of things can go wrong and this error message tells you nothing.

But still I am facing the same issue.

Maybe the easiest way will be to try and reinstall the package.

Go to TOOLS > NuGet Package Manager and Select Package Manager Console. Execute the following two commands:

uninstall-package newtonsoft.json -force
install-package newtonsoft.json

If you still get an error after doing this, then what worked for me eventually is that I deleted Json.Net's section from my .config file. Reinstall brings it back if it's not there and apparently you need to delete it. Until there will be a normal solution in the package itself, I'm afraid this manual step is a must. In package manager console again execute:

Update-Package –reinstall Newtonsoft.Json

Also take a look at your .Net version of the projects in your solution.

This is the Microsoft solution with unloading the project.

Solution 2

I had the same issue. I followed ekostadinov's forced uninstall/reinstall steps, but needed to add one extra step:

I was upgrading my Solution to Framework 4.5.2. My old Web.Config file had a namespace in the configuration tag.

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

I updated to:

<configuration>

Then the bindingRedirect should work for whatever version of NewtonSoft you are using:

<runtime xmlns="">
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
  </dependentAssembly>
</assemblyBinding>

Solution 3

I had the same issue and doing the uninstall and reinstall didn't help. At the time I was trying to install the most current version (10.0.3) of Newtonsoft.Json. I ended up installing the 7.0.1 version and then ran across another article that suggested copying that .dll to :\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE. Which I did.

Started the install REST API process again and then received a different error. When attempting to install Microsoft.Rest.ClientRuntime 2.3.2 it failed. For this, I just went into NuGet and had it install to the project in which I was installed the REST API.

Started the REST API install again and this time it installed.

Oh and if it helps anyone with searches, I was doing the Azure Immersion 02-API App tutorial using VS2015 on Windows Server 2012R2.

Solution 4

This can happen if package.config contains 2 same packages name with a different version.

For Example,

<package id="System.Spatial" version="5.6.2" targetFramework="net45" />
<package id="System.Spatial" version="5.6.4" targetFramework="net45" />

Thank You.

Solution 5

I had the same issue and I got the exception when I was trying to create MassTransit queues:

"Exception: System.TypeInitializationException: The type initializer for 'MassTransit.Serialization.JsonMessageSerializer' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=12.0.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)"

Solution that worked for me (after spending couple of days reverting several commits):

  • We had a windows service solution that has .Service project and .XUnitTests project. Both of them were using a common nuget that has dependency on Newtonsoft.Json.dll. There was no explicit reference to Newtonsoft.Json nuget package in both projects (but we were using 'using Newtonsoft.Json;' namespace in our classes), so the common nuget was using version 9 of Newtonsoft.Json by default.
  • As soon as I installed the Newtonsoft.Json nuget in both .Service and .XUnitTests projects, the common nuget package started using the latest v12 Newtonsoft and that fixed my issue.

Just posting it in here if it saves anyone their valuable time.

Share:
74,040
Midhun Murali
Author by

Midhun Murali

Passionate developer. #SOreadytohelp

Updated on August 06, 2022

Comments

  • Midhun Murali
    Midhun Murali over 1 year

    I am facing the error below

    Could not load file or assembly 'Newtonsoft.Json, Version=7.0.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 could see the below in Web.config

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

    So I changed it to

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

    In packeges.config I could see the below entry

    But still I am facing the same issue. Please help