Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

System.Net.Http.Formatting.dll causing issues with Newtonsoft.Json

My Windows service is in the same solution as a MVC project.

The MVC project uses a reference to SignalR Client which requires Newtonsoft.Json v6 +

the Windows service uses System.Net.Http.Formatting, which requires Newtonsoft.Json version 4.5.0.0.

I assumed this would not be a problem, as I could just use a binding redirect in my App.Config, however I get an error of

An unhandled exception of type 'System.IO.FileLoadException' occurred in System.Net.Http.Formatting.dll

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)

my app.config has the following:

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

I added that myself, and it does not work, I have also tried uninstalling and re-installing Json.Net with the nuget package manager, to no avail

like image 654
LiamHT Avatar asked Jun 22 '15 09:06

LiamHT


1 Answers

We faced same error and struggled to fix for few days. We finally we found this post on stack overflow Assembly reference cannot be resolved - dependentAssembly issue?

This made us realize to look into the version of System.Net.Http.Formatting being used and we found that our solution had been using multiple version of System.Net.Http.Formatting.dll and those each of them were referencing different version of Newtonsoft.Json.dll.

Removing references of older version of System.Net.Http.Formatting and adding references back, fixed the problem.

Hope that helps.

like image 62
chintan123 Avatar answered Oct 03 '22 21:10

chintan123