我正在尝试将Swagger添加到我的项目中。收到的错误如下。
不能使用服务容器中的服务和默认值实例化“ Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator”类型的构造函数。
由于我尚未在Swagger二进制文件中进行任何更改,因此仅安装了软件包 Swashbuckle.AspNetCore 和 Swashbuckle.AspNetCore.Swagger (均在4.0.1版中)。我假设这与配置有关。按照建议here,我已经设置了如下所示的配置。
services.AddSwaggerGen(_ =>
{
_.SwaggerDoc("v1", new Info { Version = "v1", Title = "My API" });
});
app.UseSwagger();
app.UseSwaggerUI(_ => { _.SwaggerEndpoint("/swagger/v1/swagger.json", "API docs"); });
我不确定是否缺少软件包,是否其中一个版本错误,或者我提供的设置配置是否足够。
答案 0 :(得分:10)
正如提问者在评论中指出的那样,为我解决的是在ConfigureServices
中添加了对Api Explorer的引用。
具体来说,所需的行是:
services.AddMvcCore()
.AddApiExplorer();
答案 1 :(得分:0)
您应该注册“ services.AddMvc();”在“ IServiceCollection”中
并在应用程序startup.cs中的IApplicationBuilder中配置“ app.UseMvc()”