C# 迁移到.NET Core 3.0后出现的问题

C# 迁移到.NET Core 3.0后出现的问题,c#,asp.net-core,swagger,.net-core-3.0,asp.net-core-3.0,C#,Asp.net Core,Swagger,.net Core 3.0,Asp.net Core 3.0,迁移到.NET Core 3.0后。我在配置昂首阔步时遇到了问题 以下是我的配置 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_3_0).AddNewtonsoftJson();

迁移到.NET Core 3.0后。我在配置昂首阔步时遇到了问题

以下是我的配置

  public void ConfigureServices(IServiceCollection services)
  {       

       services.AddMvc().SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_3_0).AddNewtonsoftJson();


       services.AddSwaggerGen(setup =>
       {
             setup.SwaggerDoc(
                "v1", 
                 new Info 
                 {  
                     Title = "Docker", 
                     Version = "v1" 
                 });
        });
  }

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
       Configuration.SwaggerOptions swaggerOptions = new Configuration.SwaggerOptions();

       _configuration.GetSection("SwaggerOptions").Bind(swaggerOptions);

       app.UseSwagger(options =>
       {
            options.RouteTemplate = swaggerOptions.JsonRoot;
       });

       app.UseSwaggerUI(options =>
       {
           options.SwaggerEndpoint(swaggerOptions.UiEndpoint, swaggerOptions.ApiDescription);
       });
}
以下是例外

TypeLoadException:无法加载类型 来自程序集的“Microsoft.AspNetCore.Mvc.MvcJsonOptions” 'Microsoft.AspNetCore.Mvc.Formatters.Json


有解决办法吗

在aspnet/AspNetCore github回购协议上讨论了以下内容:

这表明问题已经解决

我建议您确保安装了最新的Swashback.AspnetCore软件包:

在官方asp.net核心文档中,它指出:

安装软件包Swashback.AspNetCore-版本5.0.0-rc2


因此,我建议您需要安装预发布版本,在编写本文时,只有4.X是稳定的,5.0.0-rc3是最新的。

在Net Core 3.0中:
我正在尝试配置
ReferenceLoopHandling
,但对我来说,所选答案无效,因此我在ConfigureServices中找到了此备选方案,请添加:

public void ConfigureServices(IServiceCollection services)
{           
    services.AddMvc().AddNewtonsoftJson(options =>
    {
       options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
    });
}

从4移动到新的5-RC可以很好地解决这一问题,因为MEGET出现了“找不到类型或命名空间名称'Info'的错误”。已尝试安装RC2、3和4。Ideas?@inliner49er
Info
对象已更改为
openapinfo
,而
openapinfo
的命名空间为
Microsoft.OpenApi.Models