Saltar al contenido

Cómo incluir archivos de comentarios XML en Swagger en ASP.NET Core

Revisamos de forma profundamente cada enunciado de nuestro espacio con el objetivo de mostrarte en todo momento información veraz y actual.

Solución:

Para .Net Core 2 hasta 3.1 versiones es ligeramente diferente, para aquellos que lo encuentran usando una versión más nueva, crearía su
private void ConfigureSwagger(IServiceCollection services) constructor, agregue la referencia a swagger services.AddSwaggerGen(c => { c.SwaggerDoc(/*populate with your info */); luego defina un nuevo parámetro que será la ruta para su documentación XML swagger:
var filePath = Path.Combine(AppContext.BaseDirectory, "YourApiName.xml");
c.IncludeXmlComments(filePath);
.

Debería verse algo como esto:

private void ConfigureSwagger(IServiceCollection services)
    
        services.AddSwaggerGen(c =>
        
            c.SwaggerDoc("v1", new Info
            
                Version = "v1",
                Title = "YourApiName",
                Description = "Your Api Description.",
                TermsOfService = "None",
                Contact = new Contact
                    Name = "Contact Title", Email = "[email protected]", Url = ""
            );
            var filePath = Path.Combine(AppContext.BaseDirectory, "YourApiName.xml");
            c.IncludeXmlComments(filePath);
        );
    

Para que esto funcione, debe asegurarse de que la salida de la compilación tenga el archivo de documentación verificado (vea la flecha roja) y la ruta establecida de manera adecuada. me he dado cuenta de que puede quitar la ruta precargada y solo usa binYourApiName.xmlcomo a continuación:

Imagen que muestra cómo habilitar la documentación XML en Visual Studio 2017 IDE

Habilite la casilla de verificación “Archivo de documentación XML” para cada proyecto del que depende para generar sus archivos en build. Se puede hacer en la pestaña Generar propiedades del proyecto.

Para incluir todos los archivos XML en la implementación, agregue este destino al proyecto publicado csproj expediente:


    
        
    
    

Esto copiará todos los archivos XML de bin carpeta y subcarpetas anidadas (como binReleasenetcoreapp1.1) para publish dirección Por supuesto que puedes personalizar ese objetivo.

La documentación de Microsoft aquí sugiere usar un DocumentationFile etiqueta en su archivo csproj.

Solo asegúrese de tener la compilación correcta para su implementación (Versión/Depuración):


    binReleasenetcoreapp2.0APIProject.xml

Acabo de usar esto en la práctica (con los ajustes a continuación) y funciona bien:


  binRelease$(TargetFramework)$(MSBuildProjectName).xml
  1701;1702;1705;1591

¡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 *