How can I fix assembly version conflicts with JSON.NET after updating NuGet package references in a new ASP.NET MVC 5 project?

asp.net-mvc, asp.net-mvc-5.1, json.net, nuget, visual-studio-2013

Solution

Here the steps I used to fix the warning:

- Unload project in VS

- Edit .csproj file

- Search for all references to Newtonsoft.Json assembly

- Found two, one to v6 and one to v5

- Replace the reference to v5 with v6

- Reload project

- Build and notice assembly reference failure

- View References and see that there are now two to Newtonsoft.Json. Remove the one that's failing to resolve.

- Rebuild - no warnings

Problem

I created a new ASP.NET MVC 5 web project in VS 2013 (Update 1) then updated all NuGet packages. When I build the project, I get the following warning: warning MSB3243: No way to resolve conflict between "Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" and "Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed". When I check the web.config, however, I see that a binding redirect is in place: ``` <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> ``` Which is exactly what the warning advises. How can I fix this warning?

Original source