Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 785
Vin.X Avatar asked Jun 13 '17 21:06

Vin.X


3 Answers

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 .

like image 100
Vin.X Avatar answered Nov 14 '22 13:11

Vin.X


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

From the release notes for v3.4: https://learn.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

like image 27
Kevin Secrist Avatar answered Nov 14 '22 15:11

Kevin Secrist


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.

like image 4
Grisha Avatar answered Nov 14 '22 13:11

Grisha