This is very old, seems still many people having issues with the same thing. So I would like to share my experience that it might help someone.
I had the same issue in two places. In one project users 6.0.4.0 and in different project use 4.5.0.0.
1- This work for me. In bin folder I have 6.0.0.0 Newtonsoft.Json.dll and symbolic link to 4.5.0.0 dlls
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<probing privatePath="bin\4.5dlls-path;" />
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"
culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
If you don't know how to create symbolic link here.
mklink /D "name of the folder" "Path to the dll"
2- In this case when I remove the secion from Web config file it worked. Remember I have reference to 6.0.0.0 and 4.5.0.0 in different projects. In symbolic link I had 12.0.1.0 dll and bin 6.0.0.0.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<probing privatePath="bin\12.0.1dlls-path;" />
</dependentAssembly>
</assemblyBinding>
</runtime>
3- I have one more solution. If you have different versions of Newtonsoft.Json.dll in different projects try to upgrade all into one version or to the latest version, But in some case it might not work. Ex: System.Net.Http.Formatting.dll might need the version of Nettonsoft.Json.dll 6.0.0.0. In this case you need the vision 6.0.0.0, so try to make all into same version. Hope this might help some one.