Ошибка Swagger на. net core 3.0 webapi на windows (невозможно разрешить службу для типа 'ISwaggerProvider') - PullRequest
0 голосов
/ 12 марта 2020

У меня есть этот стандарт веб-APi леса. я включил следующие пакеты Nuget. У меня есть следующий файл в Startup.cs. однако это бросает ошибку. Пожалуйста, помогите

nuget packages installed error on screen

Мой класс Startup.cs имеет следующее: -

            app.UseSwagger();

            app.UseSwaggerUI(c =>
            {
                c.RoutePrefix = "v1";
                var basePath = string.IsNullOrWhiteSpace(c.RoutePrefix) ? "." : "..";
                c.SwaggerEndpoint($"{basePath}/swagger/{c.RoutePrefix}/swagger.json", "Name");
            });

1 Ответ

1 голос
/ 12 марта 2020

Причиной возникновения этой проблемы является то, что вы не вызываете services.AddSwaggerGen() в своем методе ConfigureServices(IServiceCollection services).

Этот метод регистрирует интерфейс ISwaggerProvider в контейнере DI, поскольку он не ' t зарегистрирован, что вы получаете это исключение при вызове вашего свагерского маршрута.

Полный пример раздела сваггера в ConfigureServices:

        services.AddSwaggerGen(c =>
        {
            c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
        });
...