Проблемы с Swagger после перехода на .NET Core 3.0 - PullRequest
1 голос
/ 24 сентября 2019

После перехода на .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

Есть ли решение для этого?

1 Ответ

2 голосов
/ 24 сентября 2019

В репозитории aspnet / AspNetCore github обсуждается следующее: Проблемы с swagger после перехода на .NET Core 3.0

Предполагается, что проблема решена.

Я бы рекомендовал убедиться, что у вас установлен последний пакет Swashbuckle.AspnetCore: https://www.nuget.org/packages/Swashbuckle.AspNetCore/

В официальных документах ядра asp.net указано:

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc2

https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.0&tabs=visual-studio

Так что я бы посоветовал вам установить предварительную версию , на момент написания статьи стабильной была только 4.X и 5.0.0-rc3самое последнее.

...