gpt4 book ai didi

msbuild - 如何在 csproj 构建输出中包含 Nuget 包中的 XML 文档

转载 作者:行者123 更新时间:2023-12-03 16:50:48 25 4
gpt4 key购买 nike

我有一个包含 XML 文档文件的 nuget 包。
packages/MyPackage.1.0.0/lib/net472/MyPackage.xml
但是,当我构建我的项目时,我想在输出中包含这个 xml 文件。

所以当我:
dotnet MyProj.csproj -c Release
我想得到:

> ls bin/Release/net472
MyProj.dll
MyPackage.dll
MyPackage.xml

然而,它永远不会出现。我怎么才能得到它?

最佳答案

发帖 Vlad's answer这里。
如果您想从所有包中复制 xml,这是比 Snede 更好的方法,因为它可以通用而不需要在每个包的路径上指定 .net 版本。

<Project>
<!-- ... -->
<ItemGroup>
<PackageReference Include="Example.SomePkg" Version="1.0.0" />
</ItemGroup>
<!-- ... -->
<Import Project="$(MSBuildToolsPath)/Microsoft.CSharp.targets" />

<!-- Add this -->
<Target Name="_ResolveCopyLocalNuGetPkgXmls" AfterTargets="ResolveReferences">
<ItemGroup><!-- Copy XML files from all PackageReferences to output dir -->
<ReferenceCopyLocalPaths Include="@(ReferenceCopyLocalPaths->'%(RootDir)%(Directory)%(Filename).xml')"
Condition="'%(ReferenceCopyLocalPaths.NuGetPackageId)'!='' and Exists('%(RootDir)%(Directory)%(Filename).xml')" />
</ItemGroup>
</Target>

</Project>

关于msbuild - 如何在 csproj 构建输出中包含 Nuget 包中的 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57412190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com