为什么找不到方法app.UseSwaggerUI(...)?

问题描述 投票:0回答:1

我想在使用 .NET Core 3.1 创建的新 Web 应用程序上添加 swagger。我在以下行收到错误:

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

“IApplicationBuilder”不包含“UseSwaggerUI”的定义,并且找不到接受“IApplicationBuilder”类型的第一个参数的可访问扩展方法“UseSwaggerUI”(您是否缺少 using 指令或程序集引用?)

即使我已经按照 MSDN 示例安装了 Swagger。

这是来自 NuGet 的 swagger 包的内容:

我有以下用途:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.SpaServices.ReactDevelopmentServer;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;

我错过了什么?

c# swagger asp.net-core-3.1 swashbuckle.aspnetcore
1个回答
24
投票

NuGeT 包Swashbuckle.AspNetCore.Swagger 仅提供文档的 JSON 端点。

要真正拥有 UI,还必须安装相应的包 Swashbuckle.AspNetCore.SwaggerUi

Install-Package Swashbuckle.AspNetCore.SwaggerUi -Version 5.6.3
© www.soinside.com 2019 - 2024. All rights reserved.