我正在尝试将Swagger添加到我的项目中。收到的错误如下。



由于我自己尚未更改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"); });

我不确定是否缺少软件包,是否其中一个版本错误,或者我提供的设置配置是否足够。

最佳答案

正如问问者在评论中指出的那样,为我解决的是在ConfigureServices中添加了对Api Explorer的引用。

具体来说,所需的行是:

services.AddMvcCore()
        .AddApiExplorer();

关于c# - 不能使用服务容器中的服务和默认值实例化SwaggerGenerator类型的构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53926023/

10-12 12:45
查看更多