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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With