"Newtonsoft.Json' a déjà une dépendance définie pour ' Microsoft.CSharp'

j'installe NewtonSoft.Json pour le parsing Json .Net application. Quand J'utilise VS 2012, il ne peut pas être installé via NuGet. C'est l'erreur que j'ai:

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

j'ai essayé de copier la dll et juste de l'utiliser, il semble que certaines dépendances ont foiré dans cette version (10.0.2).

après quelques heures de recherche, finalement j'ai découvert que c'est le problème de la compatibilité de VS2012 et Newtonsoft Json 10.0.2.

34
demandé sur Neeraj Kumar 2017-06-14 00:50:35

4 réponses

parce que NuGet Package Manager (Version 2.8.60318.667) pour VS 2012 ne supporte pas .NETStandard(utilisé pour Newtonsoft JSON Parser Lib. https://github.com/NuGet/Home/issues/3131

Je résous ce problème en installant L'ancienne version de Newtonsoft Json:

PM> Install-Package Newtonsoft.Json -Version 9.0.1

Plus de détails sur: https://github.com/NuGet/Home/issues/5162 .

50
répondu Vin.X 2018-08-07 17:37:55

installation / restauration des paquets NuGet dont la cible.la norme. net nécessite NuGet.exe de la version 3.4+.

Dans les notes de version pour 3.4: https://docs.microsoft.com/en-us/nuget/release-notes/nuget-3.4

Nouvelles Fonctionnalités

  • Appui à la netstandard et netstandardapp cadre de monikers

cette version de NuGet est livré avec VS2015 Update 2

NuGet 3.4 a été publié le 30 mars 2016 dans le cadre de la mise à jour 2 de Visual Studio 2015 et de la version de prévisualisation de Visual Studio 15

8
répondu Kevin Secrist 2017-11-07 16:06:39

j'ai eu le même problème en utilisant VS2015 et en créant un paquet NuGet avec une dépendance sur Newtonsoft.Version Json=10.0.3. J'ai utilisé l'approche suggérée par Vin.X dans sa réponse comme le travail autour.

après l'installation de Newtonsoft.Json version=9.0.1 dans votre projet, ajouter la description suivante dans votre .dossier nuspec.

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

L'Application qui consomme votre paquet installera Newtonsoft.Version Json=10.0.3 avec votre paquet comme une dépendance dans votre projet.

4
répondu user1467813 2017-07-12 18:31:40

essayez D'installer Newtonsoft MsgPack il va installer Newtonsoft.json dll à votre projet.

-1
répondu Gautam Dabhade 2017-11-03 04:16:31