首页 > 解决方案 > 如何在 SwashBuckle.ASP.NET Core 库中显示外部库程序集提供的端点的 XML 注释

问题描述

我有一个为它自己的端点提供服务的 ASP.NET Core 应用程序。我也有端点来管理由内部 nuget 包提供的基本应用程序功能(即检查机器名称是什么以及它是在本地运行还是在远程机器上运行的健康端点)。我目前正在使用Swashbuckle.AspNetCore来提供 API 文档。在我的StartUp文件中,我目前能够在我的 Web 项目的程序集中包含 XML 注释,如下所示:

services.AddSwaggerGen(gen =>
            {
                gen.IncludeXmlComments(
                    filePath: Path.Combine(AppContext.BaseDirectory, Assembly.GetEntryAssembly()!.GetName().Name + ".xml"),
                    includeControllerXmlComments: true
                    );
            });    

但是,这不会为我的 Web 项目使用的其他库提供的路由提供 XML 注释。这些端点仍然在我的 api 文档中(我想要),但理想情况下我也有 xml 注释。关于如何实现这一目标的任何想法?

标签: c#asp.net-coreswaggerswashbuckle

解决方案


我为我的项目创建了一个扩展方法,它将提取 XML 文件并将其加载到此处的 Swagger中。您还需要确保您的 .NET Core 项目正在生成 XML 文件。去检查; 右键单击您的项目,然后Properties-> Build,然后Output确保已设置 XML 文档文件位置。


推荐阅读