我有一个从nuget引用软件包的项目。 nuget中的这些软件包的XML文档文件作为该软件包的一部分包含在其中(与.nupkg
文件一起出现在/lib/netstandard2.0/<projectName>.xml
的{{1}}文件中)
通过在<projectName>.dll
文件中添加以下内容来生成XML文档文件:
csproj
现在,当我发布具有这些nuget包引用的项目时,所引用的nuget包的xml文档不再成为发布的一部分。
看来这是一个持续的issue。
是否存在一种变通方法,以包括所引用软件包的xml文档?
答案 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)文件成为已发布文件的一部分。