【问题标题】:xml documentation file of nuget dependencies not part of publish - .net core 2.2nuget 依赖项的 xml 文档文件不属于发布 - .net core 2.2
【发布时间】:2019-11-27 09:03:09
【问题描述】:
我有一个项目正在引用来自 nuget 的包。这些来自 nuget 的包的 XML 文档文件包含在包中(在 /lib/netstandard2.0/<projectName>.xml 的 .nupkg 文件和 <projectName>.dll 文件中提供)
通过在csproj 文件中添加以下内容来生成 XML 文档文件:
<GenerateDocumentationFile>true</GenerateDocumentationFile>
现在,当我发布具有这些 nuget 包引用的项目时,所引用的 nuget 包的 xml 文档文件不会成为发布的一部分。
这似乎是一个持续的issue。
是否有解决方法来包含引用包的 xml 文档?
【问题讨论】:
标签:
.net-core
nuget
swashbuckle
xml-documentation
dotnet-cli
【解决方案1】:
找到了一个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,如果存在)文件成为已发布文件的一部分。