как работать с ASP.NET Core 2.0 и newtonsoft.json

Я делаю первый из моих проектов asp.net, и мы остановились на использовании ядра asp.net v. 2.0 - теперь, когда ms выпустила его. - мы используем .NET 4.6 в наших поддерживаемых проектах. но у меня возникли проблемы с использованием Newtonsoft.json, который, по-видимому, не поддерживает .netstandard 2.0 в версии 10.0.1, которую я установил. И по непонятным причинам не ставится v.10.0.3, - получаю следующее:

    Error   NU1202  Package Newtonsoft.Json 10.0.1 is not compatible with net461 (.NETFramework,Version=v4.6.1) / win7-x64. Package Newtonsoft.Json 10.0.1 supports:
  - net20 (.NETFramework,Version=v2.0)
  - net35 (.NETFramework,Version=v3.5)
  - net40 (.NETFramework,Version=v4.0)
  - net45 (.NETFramework,Version=v4.5)
  - netstandard1.0 (.NETStandard,Version=v1.0)
  - netstandard1.3 (.NETStandard,Version=v1.3)
  - portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259)    ScannerWebRemoteControl

есть идеи у кого-нибудь?


person kfn    schedule 13.09.2017    source источник
comment
ASP.NET Core имеет неявную зависимость от Newtonsoft.Json. В большинстве случаев вам не нужно добавлять явную ссылку на пакет. Сказав это, вы все еще должны быть в состоянии. Попробуйте удалить пакет Newtonsoft.Json, а затем установите версию 10.0.3. В вашем сообщении об ошибке говорится о 10.0.1, поэтому вряд ли кто-то сможет вам помочь.   -  person Kirk Larkin    schedule 13.09.2017


Ответы (5)


Откройте Интегрированный терминал и запустите приведенный ниже код.

dotnet add package Newtonsoft.Json

Он загрузит и добавит Newtonsoft.Json в проект (последняя версия).

person Dee Nix    schedule 18.05.2018

Newtonsoft.Json 10.0.0.3 по-прежнему не поддерживает .NETStandard 2.0. В ASP.NET CORE у Microsoft есть пакет nuget Microsoft.AspNetCore.JsonPatch, который предназначен для .NETStandard 2.0 и делает Newtonsoft.Json доступным для вас.

Итак, если у вас есть новый проект ASP.NET CORE 2.0 с пакетом nuget Microsoft.AspNetCore.All, он уже включает Newtonsoft.Json для вас (через Microsoft.AspNetCore.JsonPatch).

Для проектов .NET 4.x необходимо добавить Newtonsoft.Json вручную.

person Honza    schedule 19.10.2017

dotnet add package  Newtonsoft.Json -v 11.0.2

приведет к:

<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
person mdn    schedule 04.09.2018

Перейдите в свой файл .csproj и добавьте

  <ItemGroup>
    <DotNetCliToolReference Include="Newtonsoft.Json" Version="11.0.2"/>
  </ItemGroup>
person Pranay Dutta    schedule 01.05.2018
comment
11.0.2 совместимо ли ядро ​​.net? Он должен быть кроссплатформенным, и у меня возникли проблемы с поиском документации, подтверждающей, что последняя версия Newtonsoft совместима с ядром .net. - person IAbstract; 09.07.2018

попробуйте это в Nuget.

Update-Package –reinstall <packageName> -ignoreDependencies

link команды Nuget

хорошая ссылка для сохранения.

person user3759748    schedule 13.09.2017
comment
попробуйте использовать запятые, чтобы переустановить все пакеты в вашем проекте. Update-Package -Reinstall -ProjectName ‹project_name›, чтобы переустановить все пакеты в проекте. - person user3759748; 13.09.2017
comment
Я удалил все пакеты nuget, которые использовал, и снова добавил их вручную. - и низко и вот - нет необходимости в json-пакете... и проблема ушла... хотя не решил ее - person kfn; 15.09.2017