Joh*_*ley 5 .net c# api rest .net-core
我正在 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();
Run Code Online (Sandbox Code Playgroud)
mas*_*son 20
您似乎在问题中错误地陈述了您正在安装的内容。您实际安装的包不是 Newtonsoft.Json,而是 Microsoft.AspNetCore.Mvc.NewtonsoftJson。AddNewtonsoftJson扩展方法来自该库。
Newtonsoft.Json 是一个用于序列化/反序列化 JSON 的库。它是使用最频繁的 .NET 库之一。事实上,它是Nuget.org 上下载次数最多的包。
Microsoft.AspNetCore.Mvc.NewtonsoftJson 是一个将 Newtonsoft.Json 与 ASP.NET Core MVC 集成的库,以便它使用 Newtonsoft.Json 来满足其 JSON 序列化/反序列化需求。它依赖于 Newtonsoft.Json,您可以通过检查 nuget.org 上包的依赖关系来查看它。
因此,您说您的应用程序是 .NET 5,并且您正在遵循使用 Microsoft.AspNetCore.Mvc.NewtonsoftJson v6.0.2 的教程。如果您查看 nuget.org 上的依赖项页面(或者更好的是,查看 Fuget 上的依赖项页面,那里更清晰一些),您将看到 v6.0.2 仅在 .NET 6 上运行。因此,您接下来的教程适用于 .网 6.
因此,您有几个可能的选择:
您可以安装支持在.NET 5上运行的最新版本的Microsoft.AspNetCore.Mvc.NewtonsoftJson。即 v5.0.14,它依赖于Newtonsoft.Json v12.0.2。这不是最新的(2019 年发布),但也不是很旧。请记住,与您尝试运行的 .NET 6 教程相比,您的 .NET 5 应用程序可能存在其他差异。
您可以开始使用 .NET 6 来配合您的教程。这会让你获得最新版本,它有很多不错的改进,并且它是长期支持版本,因此它的支持时间将比 .NET 5 长得多。这可能需要较新版本的 Visual Studio,或者你可以使用Visual Studio 代码。
您可以找到专门针对 .NET 5 的完全不同的教程。
我今天遇到了这个问题。我的项目的.NET版本是6.0。
对于.NET 6.0版本,我们必须使用Microsoft.AspNetCore.Mvc.NewtonsoftJsonNuget中的这个库。
例如:我们必须运行以下命令才能将 Microsoft.AspNetCore.Mvc.NewtonsoftJson 库添加到我们的项目中:
dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson --version 6.0.12
Run Code Online (Sandbox Code Playgroud)
对于其他版本,你可以看到这个url: Microsoft.AspNetCore.Mvc.NewtonsoftJson