我该如何在.NET Core Web应用程序中发布XML文档?

5
在csproj文件中,我通过以下标记启用了XML文档生成:
  <PropertyGroup>
    <DocumentationFile>bin\xml\Project.Api.xml</DocumentationFile>
    <NoWarn>1701;1702;1705;1591;1573</NoWarn>
  </PropertyGroup>

这个程序可以正确地构建XML文档。现在我需要将这个XML文件与应用程序一起分发(用于Swagger等支持)。因此,我添加了以下内容:

  <ItemGroup>
    <None Update="bin\xml\Project.Api.xml">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>      
    </None>
  </ItemGroup>

然而,当我发布到文件夹(或Azure)时,XML文档无法找到。我错过了什么吗?
1个回答

3
在您的情况下,以下内容适用于我(至少在发布到文件夹时):
  <!-- Run before PrepareForPublish target -->
  <Target Name="CopyDocumentationFile" BeforeTargets="PrepareForPublish">
    <ItemGroup>      
      <DocFile Include="$(DocumentationFile)" />
    </ItemGroup>
    <!--just copy doc file to target location -->
    <Copy SourceFiles="@(DocFile)" DestinationFolder="$(PublishDir)" SkipUnchangedFiles="true" />
  </Target>

这里有关于如何将自定义文件包含到发布输出中的文档,它们使用了更复杂的方式,但只是稍微多一点点。


还可以参见 https://github.com/dotnet/sdk/issues/795,请求核心工具的支持。它还列出了一些解决方法。 - Eric Erhardt
在.NET Core 3.1中,这是否也是首选方式? - Jim Aho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接