Ни один конструктор для типа SwaggerGenerator не может быть создан с использованием служб из контейнера служб и значений по умолчанию - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь добавить Swagger в свой проект.Полученная ошибка выглядит следующим образом.

Нет конструктора для типа 'Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator' можно создать с помощью служб из контейнера служб и значений по умолчанию.

Поскольку я ничего не изменил в самих двоичных файлах Swagger, просто установил пакеты Swashbuckle.AspNetCore и Swashbuckle.AspNetCore.Swagger (оба в версии 4.0.1), я предполагаючто речь идет о конфигурации.Следуя предложению здесь , я настроил конфигурацию, показанную ниже.

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

app.UseSwagger();
app.UseSwaggerUI(_ => { _.SwaggerEndpoint("/swagger/v1/swagger.json", "API docs"); });

Я не уверен, что мне не хватает пакета, если один из них у меня естьнеправильная версия или если предоставленный мной конфиг не достаточен.

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Как отметил автор в своем комментарии, это решило для меня добавление ссылки на Api Explorer в ConfigureServices.

В частности, требуемая строка была:

services.AddMvcCore()
        .AddApiExplorer();
0 голосов
/ 10 февраля 2019

Вам необходимо зарегистрировать services.AddMvc(); в IServiceCollection и настроить app.UseMvc() в IApplicationBuilder в Startup.cs

вашего приложения.
...