从ItemGroup中定义的多个位置复制文件

时间:2013-02-15 11:40:54

标签: .net visual-studio msbuild

项目文件:

...
<ItemGroup>
    <MyConfigProject Include="..\Project1.Config"></MyConfigProject>
    <MyConfigProject Include="..\Project2.Config"></MyConfigProject>
    ....
    <MyConfigProject Include="..\ProjectN.Config"></MyConfigProject>
</ItemGroup>
...

我需要将所有* .resx文件从配置项目子文件夹资源复制到单个文件夹 例如

copy ..\Project1.Config\Resources\*.resx to C:\myproject. 

我发现很多使用批处理将文件组复制到多个文件夹的示例,但找不到将文件从多个文件夹复制到单个位置的示例。

注意:我不想在每个MyConfigProject项目中指定Resources文件夹。

1 个答案:

答案 0 :(得分:1)

它只是:

  <Target Name="Itemgroup">
  <ItemGroup>
      <MyProjects Include="Project1;
                           Project2;Project3"></MyProjects>
  </ItemGroup>


  <Message Text="..\%(MyProjects.Identity).Config\Resources\*.resx"/>

  <ItemGroup>
      <MyConfigProject Include="..\%(MyProjects.Identity).Config\Resources\*.resx"/>
  </ItemGroup>


<Copy SourceFiles="@(MyConfigProject)" DestinationFolder="C:\SomeNewFolder"/>
  </Target>