gpt4 book ai didi

msbuild - 在 .csproj 中包含项目范围之外的内容文件

转载 作者:行者123 更新时间:2023-12-03 05:20:59 27 4
gpt4 key购买 nike

我有一个 C# 项目 MyProject.csproj 位于“C:\Projects\MyProject\”。我还有想要复制到该项目的输出目录中的文件。但是,这些文件位于“C:\MyContentFiles\”位置,即它们不在项目范围内。该目录也有子目录。目录的内容不受管理。因此我必须包括它下面的所有内容。

当我将它们作为“内容”包含在项目中时,它们会被复制,但目录结构会丢失。我做了这样的事情:-

<Content Include="..\..\MyContentFiles\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

如何将这些文件/目录递归复制到项目的输出目录中并保留目录结构?

最佳答案

我相信@Dmytrii一方面,你想使用“链接”功能。

但是,当他说不能链接到目录树时,他只说对了一部分。虽然在尝试使用 Visual Studio 的 GUI 添加链接时确实如此,但 MSBuild 支持这一点。

如果你想保留目录结构,只需添加 %(RecursiveDir)标记到您的<link>节点:

<Content Include="..\..\MyContentFiles\**\*.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

页面MSBuild Well-known Item Metadata更详细地介绍您可以访问的元数据。

关于msbuild - 在 .csproj 中包含项目范围之外的内容文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1292351/

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