C# - MSBuild 参考 - 将 <itemGroup> 的所有项目复制到 CopyToOutputDirectory
C# - MSBuild reference - Copy to CopyToOutputDirectory all items of <itemGroup>
我正在尝试将项目中的所有文件复制到输出目录。
现在我已经卸载了我的进程,在我的 "TestProject.csproj" 中,我有这些选项可以用于我要复制的项目:
<ItemGroup>
<Content Include="TEST\file1.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TEST\file2.xml" >
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
我想要的是能够将其中的所有项目复制到文件夹,包括稍后添加的其他项目 ( ...file3.xml, file4.xml )。
我不想被迫手动向每个文件添加 "PreserveNewest" 行为,但我想使用某种 "post-compile option" 来使其工作。
有什么建议吗?
您可以使用 item definitions:
指定默认项目元数据
<ItemDefinitionGroup>
<Content>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemDefinitionGroup>
这将作为所有 Content
项的默认值应用。您应该能够使用以下条件将其限制为仅 XML 个文件:
<ItemDefinitionGroup>
<Content>
<CopyToOutputDirectory Condition="'%(Content.Extension)'=='.xml'">PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemDefinitionGroup>
我正在尝试将项目中的所有文件复制到输出目录。
现在我已经卸载了我的进程,在我的 "TestProject.csproj" 中,我有这些选项可以用于我要复制的项目:
<ItemGroup>
<Content Include="TEST\file1.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TEST\file2.xml" >
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
我想要的是能够将其中的所有项目复制到文件夹,包括稍后添加的其他项目 ( ...file3.xml, file4.xml )。
我不想被迫手动向每个文件添加 "PreserveNewest" 行为,但我想使用某种 "post-compile option" 来使其工作。
有什么建议吗?
您可以使用 item definitions:
指定默认项目元数据<ItemDefinitionGroup>
<Content>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemDefinitionGroup>
这将作为所有 Content
项的默认值应用。您应该能够使用以下条件将其限制为仅 XML 个文件:
<ItemDefinitionGroup>
<Content>
<CopyToOutputDirectory Condition="'%(Content.Extension)'=='.xml'">PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemDefinitionGroup>