nuget依赖项的XML文档文件不属于发布-.net Core 2.2

时间:2019-07-18 12:19:34

标签: .net-core nuget swashbuckle xml-documentation dotnet-cli

我有一个从nuget引用软件包的项目。 nuget中的这些软件包的XML文档文件作为该软件包的一部分包含在其中(与.nupkg文件一起出现在/lib/netstandard2.0/<projectName>.xml的{​​{1}}文件中)

通过在<projectName>.dll文件中添加以下内容来生成XML文档文件:

csproj

现在,当我发布具有这些nuget包引用的项目时,所引用的nuget包的xml文档不再成为发布的一部分。

看来这是一个持续的issue

是否存在一种变通方法,以包括所引用软件包的xml文档?

1 个答案:

答案 0 :(得分:0)

找到了一个solution,正在使之工作。在下面的.csproj文件中添加:

 <Target Name="_ResolvePublishNuGetPackagePdbsAndXml"
        AfterTargets="RunResolvePublishAssemblies">
  <ItemGroup>
      <ResolvedFileToPublish 
        Include="@(ResolvedAssembliesToPublish->'%(RootDir)%(Directory)%(Filename).pdb')" 
        RelativePath="$([System.IO.Path]::ChangeExtension(%(ResolvedAssembliesToPublish.DestinationSubPath), '.pdb'))"
        DestinationSubPath="$([System.IO.Path]::ChangeExtension(%(ResolvedAssembliesToPublish.DestinationSubPath), '.pdb'))"
        Condition="'%(ResolvedAssembliesToPublish.PackageName)' != ''
                    and Exists('%(RootDir)%(Directory)%(Filename).pdb')" />
      <ResolvedFileToPublish 
        Include="@(ResolvedAssembliesToPublish->'%(RootDir)%(Directory)%(Filename).xml')" 
        RelativePath="$([System.IO.Path]::ChangeExtension(%(ResolvedAssembliesToPublish.DestinationSubPath), '.xml'))"
        DestinationSubPath="$([System.IO.Path]::ChangeExtension(%(ResolvedAssembliesToPublish.DestinationSubPath), '.xml'))"
        Condition="'%(ResolvedAssembliesToPublish.PackageName)' != ''
                    and Exists('%(RootDir)%(Directory)%(Filename).xml')" />
  </ItemGroup>
</Target>

这将使引用程序包的xml(如果有的话,还有pdb)文件成为已发布文件的一部分。

相关问题