问题
I am installing NewtonSoft.Json for parsing Json in .Net application. When I am using 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 have found out it is the problem of the compatibility of VS2012 and Newtonsoft Json 10.0.2.
回答1:
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 .
回答2:
Installing/restoring NuGet packages which target .NET standard requires NuGet.exe version 3.4+.
From the release notes for 3.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
回答3:
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.
回答4:
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
回答5:
Try to install Newtonsoft MsgPack it will install Newtonsoft.json dll to your project.
来源:https://stackoverflow.com/questions/44532170/newtonsoft-json-already-has-a-dependency-defined-for-microsoft-csharp