最近我在 .NET Core 3.0 和 3.1 项目中使用了很多。升级现有的 2.2 项目和几个新的未开发项目。 我必须做的每一件事就是从使用新的 System.Text.Json 包切换回使用 Newtonsoft.Json。
在几乎所有项目中,我实际上都尝试继续使用 System.Text.Json,但在现有项目中,我没有时间在我的模型上切换自定义 JsonConverters 或 Newtonsoft.Json 特定属性之类的东西。
在新项目中,我总是会在 Newtonsoft 中做到这一点。 尽管我很想尝试这个闪亮的新东西,但我有自己的截止日期,这让我无法尝试新功能。
所以如果你和我在同一条船上,只需要把东西拿出来。 您需要的第一件事是安装以下 Nuget 包:
Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson
然后你需要向你的 IMVCBuilder 添加一个特定的调用。 这将根据您设置项目的方式而有所不同。 如果您要从现有项目迁移,您将调用“AddMvc()”,然后您可以像这样添加它:
services.AddMvc().AddNewtonsoftJson();
但是,在新的 .NET Core 3+ 项目中,您有一组不同的调用来替换 MVC。 所以你可能会有以下之一:
services.AddControllers().AddNewtonsoftJson();
services.AddControllersWithViews().AddNewtonsoftJson();
services.AddRazorPages().AddNewtonsoftJson();
如果这是一个 Web API,您可能会有 AddControllers,但根据您的项目设置,您也可能有其他的。 将 AddNewtonsoftJson() 添加到最后意味着它将“恢复”回使用 Newtonsoft 而不是 System.Text.Json
这篇博客介绍了如何在.NET Core 3.0和3.1项目中从System.Text.Json回退到使用Newtonsoft.Json。作者分享了需要安装的Nuget包以及在不同项目设置中添加NewtonsoftJson支持的代码片段,帮助开发者在面临紧迫截止日期时快速迁移。
104

被折叠的 条评论
为什么被折叠?



