将 Swagger 添加到 ASP.Net Core Web API

Eut*_*rpy 2 c# swagger asp.net-core asp.net-core-webapi

我正在尝试将 Swagger 添加到我的 ASP.Net Core Web API 项目中,如下所示:

public void ConfigureServices(IServiceCollection services)
{
       services.AddControllers();
       services.AddSwaggerGen(c =>
       {
          c.SwaggerDoc("v0.1", new OpenApiInfo { Title = "My API", Version = "v0.1" });
       });
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            ...
            app.UseHttpsRedirection();

            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v0.1/swagger.json", "My API V1");
            });

            app.UseRouting();

            app.UseAuthorization();
            ...
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

找不到类型或命名空间名称“OpenApiInfo”

我已经安装了 Swashbuckle.AspNetCore v4.0.1,我的项目是 .Net Core 3.0。

Fab*_*jan 6

它不起作用的原因是因为该类型OpenApiInfo与最新版本的Swashbuckle.AspNetCore; 打开 nuget 包管理器,勾选“包含预发布”复选框并将包更新到版本 5.0.0-rc3。

然后它应该工作。