I have several projects in my VS solution. Whenever I add "System.Net.Http" NuGet package to one it shows as version 4.2.0.0. Then I do the same and add same NuGet Package, however, the other says version. 4.1.1.2
Then I get a warning:
Found conflicts between System.Net.Http
EDIT1:
Gathering dependency information took 1.7 sec
Attempting to resolve dependencies for package 'System.Net.Http.4.3.3' with DependencyBehavior 'Lowest'
Resolving dependency information took 0 ms
Resolving actions to install package 'System.Net.Http.4.3.3'
Resolved actions to install package 'System.Net.Http.4.3.3'
Retrieving package 'System.Net.Http 4.3.3' from 'nuget.org'.
Adding package 'System.Net.Http.4.3.3' to folder 'C:\...Service\packages'
Added package 'System.Net.Http.4.3.3' to folder 'C:\...Service\packages'
Added package 'System.Net.Http.4.3.3' to 'packages.config'
Successfully installed 'System.Net.Http 4.3.3' to ....Service
Executing nuget actions took 2.05 sec
Time Elapsed: 00:00:03.8937113
Please notice correct version installed, However => Props => Version says 4.1.1.2
There is a new solution to this that works as of the 9th of October 2018.
System.Net.Http
to the latest version 4.3.4.If your project has the new project structure, edit it and make sure it includes the following package reference:
Search your solution and delete any existing binding redirects for System.Net.Http they will look as follows
<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> </dependentAssembly>
Rebuild, the warning should now be gone and your code should build and run fine
You can force the version you're installing, so you can have both projects aligned or find a message in the output window, which would be telling you what's wrong or what your dependencies are. Since the official link lists no 4.2 release, I would do this (solution-wide)
Or for both projects
Or, even better (using the last version)
EDIT
Apparently you are not the first to experience this. How about the answer here? Basically you can align this section of both projects config file:
You might have to adapt the token value. Just in case, could you paste the config file for both projects=
This tends to happen when you have a reference to the framework System.Net.Http, but one of your package references requires the NuGet package System.Net.Http.
See if you have a reference to that assembly, remove it and install the NuGet package instead
Edit: This happens only when using .NET Framework. In .NET Core/Standard land, the latest
System.Net.Http
assembly version seems to be always 4.1.2.0 - there is no 4.2.0.0 version available.The issue regarding System.Net.Http is way, way more complicated then the answers here seem to imply...
System.Net.Http
NuGet package, but no, it will not install the latest version of the same assembly (it contains version 4.1.1.2 of theSystem.Net.Http
assembly, not 4.2.0.0).System.Buffers
(version 4.5.0 worked for me).TL;DR:
Add
System.Buffers
4.5.0+ NuGet reference to your project, if you want to make sure it is usingSystem.Net.Http
4.2.0.0 assembly.References:
After going through all the solutions presented here and the references cited in this answer, I finally resolved this completely. This is what I believe anyone who experiences this issue should do:
System.Net.Http
that are not managed by NuGet (for projects using PackageReference, you should see the NuGet symbol next to the reference in Solution Explorer). Replace the removedSystem.Net.Http
references with the corresponding NuGet package if you're certain your project requiresSystem.Net.Http
(try building without it first). For projects using packages.config, take extra care to ensure that references toSystem.Net.Http
are required and that they are also using NuGet. It may help to remove and re-addSystem.Net.Http
via NuGet anyway (for all projects referencing it), even if already referenced using NuGet. I found that step 2 can cause some disjoint somewhere.If you later find that you get run-time exceptions (even during unit testing) due to manifest mismatches after adding a reference somewhere, remove all the binding redirects from the website project concerned, then re-add the suggested ones given in the warning as per step 6.
I spent a lot of time trying to resolve this issue methodically, so I believe the above steps would fully resolve most people's issues, although some lateral thinking might be required for unusual cases. Let me know if this works (or doesn't work) for you.