Swagger 虚张声势包括来自依赖DLL的XML注释

Swagger 虚张声势包括来自依赖DLL的XML注释,swagger,asp.net-core-webapi,swashbuckle,Swagger,Asp.net Core Webapi,Swashbuckle,我需要记录一个asp.net核心web api,我正在使用swagger和Swashback 我环顾四周,发现了这个链接,但它很旧,不起作用 有人能告诉我如何从另一个dll中包含xml注释吗 谢谢Swashback有两个版本: 如果这个问题上的标签是正确的,那么您的链接不是您正在使用的版本,但是提供的解决方案应该会让您知道您需要做什么 您可以使用Swashback.AspNetCore上仍然可用的includexmlcomcomments包含任意数量的xml注释,请参见此处: 首先,

我需要记录一个asp.net核心web api,我正在使用swagger和Swashback

我环顾四周,发现了这个链接,但它很旧,不起作用

有人能告诉我如何从另一个dll中包含xml注释吗


谢谢

Swashback有两个版本:

如果这个问题上的标签是正确的,那么您的链接不是您正在使用的版本,但是提供的解决方案应该会让您知道您需要做什么

您可以使用Swashback.AspNetCore上仍然可用的
includexmlcomcomments
包含任意数量的xml注释,请参见此处:

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



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

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

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

您好,谢谢您的时间,我正在使用Swashbucke.AspNetCore(2.4.0),我假设它是asp.net core web api的最新正确版本。正确吗?将每个dll的xmlcomments输出到一个特定的共享目录并从那里读取它是一个解决方案吗?@developer9969是的,对于这两个,所有dll的xmlcomments应该已经输出到dll所在的同一位置,默认情况下,这是:
project\bin\Debug
或Release,具体取决于您的构建设置correct。它们已经执行了。但是看看你的伪代码,你传递了一个文件夹,然后得到了所有的文件。我认为这意味着所有的dll.xmlcoments都输出到指定的文件夹,而不是默认的bin/debig/releasedir@developer9969我的代码的关键点是:
Directory.GetFiles(文件夹“*.XML”、SearchOption.AllDirectories)
这将获取文件夹中的所有.xml文件以及给定文件夹的任何子文件夹,因此,我们的想法是尽可能地提供一个高级别的文件夹,并让GetFiles为您完成工作(我假设您的文件夹中没有millon文件,这将非常糟糕)