发布期间未复制引用的程序集的 xml 文档

ber*_*hof 5 asp.net publish swashbuckle visual-studio-2019

当发布引用同一解决方案中的类库(项目)的 ASP.NET 项目 (NET Framework 4.7.1) 时,所有这些项目都在其构建过程中生成了 XML 文档,只有 ASP.NET 项目自己的 XML 文档文件包含在发布的输出。

这些文件对于 Swashbuckle 的 API 文档是必需的。

这只是 VS 发布期间的问题,而不是常规构建的问题。我使用的是 VS Professional 2019 v16.4.2。

如何将引用的类库的 XML 文档文件包含在发布中?这似乎是一个正常的用例,我觉得我错过了一些明显的东西。

我试过了:

  • 在所述项目中包含 XML 文件,并将它们标记为“内容”和“始终复制”到输出目录。不用找了。
  • 更改不同的发布设置,似乎对此没有任何影响

ber*_*hof 3

大致基于Sam Stephens 博客文章,我已将其添加到项目文件中,该文件在发布期间将所有 xml 文件复制到 bin 文件夹中。如果有人提出了更简单的方法,请随时发布答案:)

<PropertyGroup>
  <CopyAllFilesToSingleFolderForPackageDependsOn>
    $(CopyAllFilesToSingleFolderForPackageDependsOn);
    CopyXmlDocuments;
  </CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CopyXmlDocuments">
  <ItemGroup>
    <XmlDocuments Include="$(OutDir)*.xml" />
    <FilesForPackagingFromProject Include="%(XmlDocuments.Identity)">
      <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
    </FilesForPackagingFromProject>
  </ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)