Ответ 1
Как заметил автор в комментарии, для меня это решило добавление ссылки на Api Explorer в ConfigureServices
.
Конкретно требуемая строка была:
services.AddMvcCore()
.AddApiExplorer();
Я пытаюсь добавить 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"); });
Я не уверен, что мне не хватает пакета, одна из тех, что у меня, - неправильная версия, или мне не хватает набора настроек, который я предоставляю.
Как заметил автор в комментарии, для меня это решило добавление ссылки на Api Explorer в ConfigureServices
.
Конкретно требуемая строка была:
services.AddMvcCore()
.AddApiExplorer();
Вы должны зарегистрировать services.AddMvc();
в IServiceCollection
и настроить app.UseMvc()
в IApplicationBuilder
в своем приложении Startup.cs