Microsoft.AspNetCore.Mvc.NewtonsoftJson 6.0.2不兼容net5.0

Microsoft.AspNetCore.Mvc.NewtonsoftJson 6.0.2 is not compatible with net5.0

我正在 Mac 上使用 Visual Studio 2019,尝试启动 REST API 项目。

尝试安装 NewtonsoftJson 6.0.2 时立即卡住

我只是在学习教程,正在使用的 NewtonsoftJson 版本是 3.1.9。

首先 - 有没有办法安装 6.0.2?

其次 - 如果无法安装 6.0.2,有没有办法安装旧版本以便我继续本教程?

编辑

我在评论中根据建议添加了 Newtonsoft.Json 13.0.1,但我仍然在下面的文本下方看到红线,上面写着 AddNewtonsoftJson():

services.AddControllersWithViews().AddNewtonsoftJson();

您在问题中似乎误述了您正在安装的内容。您实际安装的软件包不是 Newtonsoft.Json,而是 Microsoft.AspNetCore.Mvc.NewtonsoftJson。 AddNewtonsoftJson extension method comes from that library.

Newtonsoft.Json 是 serializing/deserializing JSON 的库。它是目前使用最频繁的 .NET 库之一。事实上,它是 most downloaded package on Nuget.org.

Microsoft.AspNetCore.Mvc.NewtonsoftJson 是一个将 Newtonsoft.Json 与 ASP.NET Core MVC 集成的库,因此它使用 Newtonsoft.Json 来满足其 JSON serialization/deserialization 的需求.这取决于Newtonsoft.Json,你可以通过examining the dependencies of the package on nuget.org.

看到

所以,您说您的应用程序是 .NET 5,并且您正在学习使用 Microsoft.AspNetCore.Mvc.NewtonsoftJson v6.0.2 的教程。如果您查看 nuget.org(或更好,on Fuget where it's a bit clearer)上的依赖项页面,您将看到 v6.0.2 仅在 .NET 6 上 运行s。因此本教程你以下是针对 .NET 6 的。

因此,您可以从这里获得几个可能的选择:

  1. 可以在.NET 5上安装支持运行ning的最新版Microsoft.AspNetCore.Mvc.NewtonsoftJson,即v5.0.14,依赖Newtonsoft.Json v12.0.2。这不是最新的(它于 2019 年问世),但也不是很旧。请记住,与您尝试使用的 .NET 6 教程相比,您的 .NET 5 应用程序可能存在其他差异 运行。

  2. 您可以开始使用.NET 6 来配合您的教程。这会让您获得最新版本,它有很多不错的改进,而且它是一个长期支持版本,因此它的支持时间将比 .NET 5 长得多。这可能需要 Visual Studio 的更新版本,或者你可以使用 Visual Studio 代码。

  3. 您可以找到完全不同的特定于 .NET 5 的教程。