Saltar al contenido

services.AddSwaggerGen () dando error

Solución:

Tuve un problema, que

IServiceCollection no contiene una definición para ‘AddSwaggerGen’

Resulta que lo instalé Swashbuckle.AspNetCore.Swagger paquete nuget en lugar de Swashbuckle.AspNetCore.

En .NET Core 3, hay algunos problemas que se describen aquí. La solución es agregar lo siguiente al archivo del proyecto, reemplazando la versión anterior.

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

Esto sucede porque la implementación de AddSwaggerGen() El método de extensión en ASP.NET Core requiere que proporciones Action<SwaggerGenOptions> argumento que sirve como acción de configuración. Por ejemplo:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});

Puede obtener más información sobre cómo configurar Swagger con la aplicación ASP.NET Core aquí.

ACTUALIZAR:
En versiones anteriores tenían la AddSwaggerGen() método de extensión que no acepta argumentos, pero esta llamada iba acompañada de una llamada ConfigureSwaggerDocument(Action<SwaggerGenOptions> setupAction). Supongo que simplemente se deshicieron de ConfigureSwaggerDocument y acción de configuración agregada a AddSwaggerGen() método. Dicho esto, parece que su tutorial muestra cómo configurar una versión obsoleta de Swagger.

Respuesta tardía, pero como una nueva actualización de esta pregunta, acabo de notarlo para hacer AddSwaggerGen funciona bien en .NET Core 3, necesita usar OpenApiInfo en lugar de Info. Entonces tu nuevo AddSwaggerGen debería ser algo como esto:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "The API", Version = "v1" });
});

También debe agregar lo siguiente a su using directivas:

using Microsoft.OpenApi.Models;

Lea más aquí https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *