'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'

.Netjson.netJsonparser

.Net Problem Overview


I'm installing NewtonSoft.Json for parsing Json in .NET application. When I'm using Visual Studio(VS) 2012, it can not be installed via NuGet. This is the error I have got:

'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'

I tried to copy the DLL over and just use it, seems like some dependencies screwed up in this version (10.0.2).

After few hours research, finally I've found out it is the problem of the compatibility of VS2012 and Newtonsoft Json 10.0.2.

.Net Solutions


Solution 1 - .Net

because NuGet Package Manager (Version 2.8.60318.667) for VS 2012 does not support .NETStandard (Used for Latest Newtonsoft Json Parser Lib. https://github.com/NuGet/Home/issues/3131

I resolve this issue by installing older version of Newtonsoft Json:

PM> Install-Package Newtonsoft.Json -Version 9.0.1

More details on: https://github.com/NuGet/Home/issues/5162 .

Solution 2 - .Net

Installing/restoring NuGet packages which target .NET standard requires NuGet.exe version 3.4+.

From the release notes for v3.4: https://docs.microsoft.com/en-us/nuget/release-notes/nuget-3.4

> New Features > > - Support for the netstandard and netstandardapp framework monikers

This version of NuGet comes with VS2015 Update 2

> NuGet 3.4 was released March 30, 2016 as part of the Visual Studio 2015 Update 2 and Visual Studio 15 Preview Release

Solution 3 - .Net

I had the same issue using VS2015 and creating a NuGet package with dependency on Newtonsoft.Json version=10.0.3. I used the approach suggested by Vin.X in his answer as the work around.

After installing Newtonsoft.Json version=9.0.1 into your project, add following description in your .nuspec file.

<dependencies>
      <dependency id="Newtonsoft.Json" version="10.0.3" />
</dependencies>

Application that consumes your package will install Newtonsoft.Json version=10.0.3 along with your package as a dependency into your project.

Solution 4 - .Net

Try removing existing version of package from solution package directory and then try the following command. It worked for me.

    PM> Install-Package Newtonsoft.Json -Version 9.0.1

Solution 5 - .Net

I ran into the same issue. I think you need to update NuGet for VS2013 (*Prob VS2012 also)

here

https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013

Solution 6 - .Net

This question isn't specifically about TFS/Azure Devops, but I ran into the exception in the title this morning, and my resolution gets around having to downgrade versions.

We updated Visual Studio on our build servers and all of our builds broke.

Below are the versions I'm currently targeting:

  • Nuget: 5.4.0
  • Newtonsoft.Json: 12.0.3
  • Azure Devops Server (on prem): 2019
  • Visual Studio 2019: 16.5.2

We found that we needed to add a task called NuGet Tool Installer in the beginning of our task list to force it to use version 5.4.0 because auto-discovery was selecting an older version and failing.

Nuget Tool Installer

Once this was functional, and packages restored, it failed to package our source for distribution. So we have the latest NuGet.exe, .NET Framework reference of NewtonSoft.Json (i.e. not netstandard), but still it wasn't working. We were using NuGet Packager previously, and I'm not entirely sure when the task became deprecated, but it was still functional for us until the VS updates. There is a new task called NuGet which has a drop down for the different features.

NuGet

Selecting Pack, and configuring the fields to mimic what the deprecated task had led to a successful build.

Solution 7 - .Net

Try to install Newtonsoft MsgPack it will install Newtonsoft.json DLL to your project.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionVin.XView Question on Stackoverflow
Solution 1 - .NetVin.XView Answer on Stackoverflow
Solution 2 - .NetKevin SecristView Answer on Stackoverflow
Solution 3 - .NetGrishaView Answer on Stackoverflow
Solution 4 - .NetMasoodView Answer on Stackoverflow
Solution 5 - .NetFiach ReidView Answer on Stackoverflow
Solution 6 - .NetTyler StandishManView Answer on Stackoverflow
Solution 7 - .NetGautam DabhadeView Answer on Stackoverflow