【问题标题】:Migrate from /net core 2.1 to .net core 3.1从 /net core 2.1 迁移到 .net core 3.1
【发布时间】:2020-02-07 13:14:21
【问题描述】:

从 .net core 2.1 迁移到 .net core 3.1 时出现错误

错误:面向 .NET Core 3.0 或更高版本时不支持 Microsoft.AspNetCore.All 包。对 Microsoft.AspNetCore 的 FrameworkReference。应改为使用该应用,并将隐式包含在 Microsoft.NET.Sdk.Web 中。

【问题讨论】:

  • 有分步迁移指南可在:docs.microsoft.com/en-us/aspnet/core/migration/…
  • @juunas 谢谢,现在我遇到了 services.AddMvc(options => { options.Filters.Add(new AuthorizeFilter("default")); }).AddJsonOptions(x => x. SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize) “JsonOptions”不包含“SerializerSettings”的定义

标签: asp.net-core


【解决方案1】:

我遇到了 services.AddMvc(options => { options.Filters.Add(new AuthorizeFilter("default")); }).AddJsonOptions(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize) 'JsonOptions' 确实 不包含“SerializerSettings”的定义

对于asp.net core 3.0+,你需要先为你的版本安装包Microsoft.AspNetCore.Mvc.NewtonsoftJson,然后替换

services.AddMvc()
 .AddJsonOptions(
    options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize);

services.AddControllersWithViews()
    .AddNewtonsoftJson(options =>
        options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize);

参考https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.1&tabs=visual-studio#use-newtonsoftjson-in-an-aspnet-core-30-mvc-project

【讨论】:

  • 感谢它解决了我的问题。我与 cors services.AddCors(options => { options.AddPolicy("AllowAll", builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials()); }) 相关的还有 1 个错误。它说alloworigin 和allowcredianials 不能在一起。如果我删除任何一个,那么当我打开应用程序时,它会说 cors 已被阻止
  • @Harsha Mullangi 我认为这是CORS问题的另一个问题,也许你可以使用WithOrigins()而不是docs.microsoft.com/en-us/aspnet/core/security/… 此外,你需要将app.UseCors放在app.UseRouting()和app之间。使用端点
  • 但实际上我想允许所有来源
  • @Harsha Mullangi 好的,为了让更多人看到你的新问题,我建议你可以标记答案并打开一个新线程,其中包含更详细的启动代码、场景和错误信息。它是很难确切知道为什么会出现此错误
  • 我打开了另一个线程:stackoverflow.com/questions/60109800/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-20
  • 2020-08-22
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多