services.AddSwaggerGen() 给出错误错误、services、AddSwaggerGen

2023-09-07 13:51:18 作者:呆橘°

我想要做的只是将 swagger 添加到 ASP.Net Core 应用程序中.我正在看一个教程,我看到他们所做的只是在 Startup.cs 文件的配置服务区域下添加 services.AddSwaggerGen();.像 MVC 之类的任何普通服务一样......但我收到一个错误:

All I'm trying to do is add swagger to an ASP.Net Core application. I'm watching a tutorial and all I see them do is add services.AddSwaggerGen(); under the configure services area in the Startup.cs file. Like any normal service like MVC... But I get an error:

没有给出与所需形式参数setupAction"相对应的参数...

There is no argument given that corresponds to the required formal parameter 'setupAction'...

我没有看到任何人向 services.AddSwaggerGen() 提供任何类型的参数,所以有人知道我在这里缺少什么吗?

I don't see anyone supplying any kind of argument to services.AddSwaggerGen() so does anyone know what I'm missing here?

我已经添加了 SwashBuckler.AspNetCore 依赖项,因此应用程序中出现了招摇.只是不知道为什么它是红色的并给出上述错误.

I've added the SwashBuckler.AspNetCore dependency so swagger is in the application. Just don't know why it's red and giving the above error.

推荐答案

我有问题,那个

IServiceCollection 不包含AddSwaggerGen"的定义

IServiceCollection does not contain a definition for 'AddSwaggerGen'

事实证明,我安装了 Swashbuckle.AspNetCore.Swagger nuget 包而不是 Swashbuckle.AspNetCore.

I turnes out, that I installed Swashbuckle.AspNetCore.Swagger nuget package instead of Swashbuckle.AspNetCore.

在 .NET Core 3 中,此处讨论了一些问题.解决方案是在项目文件中添加以下内容,替换之前的版本.

In .NET Core 3, there's some issues as discussed here. The solution is to add the following to the project file, replacing the prior version.

<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc2" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="5.0.0-rc2" />