在Csproj中,我有以下部分:
<ItemGroup>
<Content Include="C\MyPath\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>Res\%(RecursiveDir)%(Filename)%(Extension)</Link>
</Content>
因此,如果C \ MyPath \具有以下结构:
-C
-MyPath
-f1.txt
-folder1
-f3.txt
-folder4
-folder2
-f4.txt
-folder5
我不完全想要递归副本 但是我不希望生成folder1和folder2 而是从第二级开始递归复制:
-Res
- f1.txt
- f3,txt
- folder4
- f4.txt
- folder5
如果不分别从每个文件夹中复制,我怎么能这样做:
<Content Include="C\MyPath\folder1\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>Res\%(RecursiveDir)%(Filename)%(Extension)</Link>
</Content>
<Content Include="C\MyPath\folder2\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>Res\%(RecursiveDir)%(Filename)%(Extension)</Link>
</Content>
答案 0 :(得分:0)
尝试MakeRelative
property function:
<Copy SourceFiles="@(Content)"
DestinationFolder="Res\$([MSBuild]::MakeRelative(%(Content.RelativeDir), %(Content.Filename)))" />