首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Swashbuckle.AspNetCore IncludeXmlComments 的小更新

Swashbuckle.AspNetCore IncludeXmlComments 的小更新

作者头像
JusterZhu
发布2025-01-23 20:34:47
发布2025-01-23 20:34:47
1380
举报
文章被收录于专栏:JusterZhuJusterZhu

Swashbuckle.AspNetCore IncludeXmlComments 的小更新

Intro

最近发现 Swashbuckle.AspNetCore 从 6.7.0 版本开始有个更新简化了 xml 文档注释的处理

Changes

在之前的版本,IncludeXmlComments 需要指定 xml 文档的路径,比如:

代码语言:javascript
复制
{
    option.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"), true);
}

我们一般通过在项目项目文件中配置 GenerateDocumentationFile 来生成 xml 文档文件

代码语言:javascript
复制
<PropertyGroup>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>

默认地,xml 文档文件的名称就是程序集的名称,新版本新增了一个方法,指定 assembly 即可,无需再指定完整的 xml path 文档,自动使用程序集的名称来指定 xml 文档文件路径,新增方法实现如下:

代码语言:javascript
复制
public static void IncludeXmlComments(
    this SwaggerGenOptions swaggerGenOptions,
    Assembly assembly,
    bool includeControllerXmlComments = false)
{
    swaggerGenOptions.IncludeXmlComments(
        Path.Combine(AppContext.BaseDirectory, $"{assembly.GetName().Name}.xml"),
        includeControllerXmlComments);
}

有了这个方法我们就可以直接指定程序集即可,对于有多个 xml 文档需要引入的时候简化效果就会更加的明显,变化如下:

代码语言:javascript
复制
{
-    option.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"), true);
+    option.IncludeXmlComments(Assembly.GetExecutingAssembly(), true);
}

大家在升级这个 NuGet 包的时候也可以针对这个做一个小的优化,减少一些代码哈哈

References

  • https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2750
  • https://github.com/domaindrivendev/pull/2909/files
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JusterZhu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Swashbuckle.AspNetCore IncludeXmlComments 的小更新
    • Intro
    • Changes
    • References
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档