Swagger-Swashbuckle 包括来自依赖 dll 的 xml 注释

dev*_*969 6 swagger swashbuckle asp.net-core-webapi

我需要记录一个 asp.net core web api,并且我正在使用 swagger 和 swashbuckle。

我环顾四周,找到了这个链接,但它很旧并且不起作用 https://github.com/domaindrivendev/Swashbuckle/issues/93

有人可以告诉我如何包含来自另一个 dll 的 xml 注释吗?

谢谢

Hel*_*eda 6

虚张声势有两个版本:

如果此问题上的标签正确,则您的链接不是您正在使用的版本,但所提供的解决方案仍然应该让您很好地了解您需要做什么。

您可以根据需要添加任意数量的 xml 注释,IncludeXmlComments这些注释在 Swashbuckle.AspNetCore 上仍然可用,请参阅此处:
Swashbuckle.AspNetCore.SwaggerGen/Application/SwaggerGenOptions.cs#L259

首先,您需要确保您需要的 xml 注释作为部署的一部分发送到服务器,否则 Swashbuckle 将不会显示不存在的内容...



解决方案可能是递归循环查找 XML 文件并使用 IncludeXmlComments 添加它们,如下所示:

public void IncludeAllXmlComments(string folder)
{
  if (!string.IsNullOrEmpty(folder))
  {
    foreach (var name in Directory.GetFiles(folder, "*.XML", SearchOption.AllDirectories))
    {
      IncludeXmlComments(filePath: name);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

此示例代码只是为了给您一个想法,而不是用于复制/面食