gpt4 book ai didi

c# - 将 NuGet contentFiles 传递到引用的项目

转载 作者:行者123 更新时间:2023-12-02 04:18:38 25 4
gpt4 key购买 nike

我有一个 NuGet 包,其中有一个额外文件打包为 contentFiles 文件夹中的 Content

然后,我有两个具有 SDK 样式 .csproj 的 C# 项目 - A 和 B,其中 项目 B 引用 项目 A 作为 ProjectReference ,并且项目 A 中有一个 NuGet 包 的经典 PackageReference,如下所示:

NuGet 包 ← 项目 A ← 项目 B

我的问题是额外的文件被正确复制到项目 A 的构建输出,但除非我手动执行,否则它不会被复制到项目 B 的输出。

有没有办法强制将额外文件从 NuGet 依赖项传递到项目 B 构建输出?

我能想到的唯一方法是使用 xcopy 命令自定义构建后事件,但这更多的是一种解决方法,而不是真正的解决方案。

感谢您提前提供任何建议!

最佳答案

如果您可以控制 NuGet 包

您可以添加其他构建目标,您可以在其中指定应复制的内容文件。

build/MyNuGetPackage.targets 添加到 NuGet 包:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>

<!-- For all files in /contentFiles -->
<Content Include="$(MSBuildThisFileDirectory)..\contentFiles\**\*.*">
<!-- Copy to output directory on build -->
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

</ItemGroup>
</Project>

这会将此包的所有内容文件复制到输出文件夹中,包括传递引用此包的情况。

关于c# - 将 NuGet contentFiles 传递到引用的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61143283/

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