1

我正在尝试将项目中的所有文件复制到输出目录。

现在我已经卸载了我的进程,在我的“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”行为添加到每个文件中,但我想使用某种“后编译选项”来使其工作。

有什么建议吗?

4

1 回答 1

2

您可以使用项目定义指定默认项目元数据:

<ItemDefinitionGroup>
  <Content>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemDefinitionGroup>

这将默认应用于所有Content项目。您应该能够通过使用条件将其限制为仅 XML 文件:

<ItemDefinitionGroup>
  <Content>
    <CopyToOutputDirectory Condition="'%(Content.Extension)'=='.xml'">PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemDefinitionGroup>
于 2019-09-20T09:50:20.583 回答