How to overwrite ItemGroup (like what we do with PropertyGroup)

msbuild

Solution

I find out a way to do it but I don't like it very much:

<ItemGroup>
  <files Include="*.txt"></files>
</ItemGroup>
<Message Text="@(files)">

<ItemGroup>
  <files Remove="@(files)"></files>
  <files Include="*.xml"></files>
</ItemGroup>
<Message Text="@(files)">

Problem

I have a script snippet looks like below: ``` <ItemGroup> <files Include="*.txt"></files> </ItemGroup> <Message Text="@(files)"> <ItemGroup> <files Include="*.xml"></files> </ItemGroup> <Message Text="@(files)"> ``` I want that in the second Message output, only *.xml is printed. Currently both of *.txt and *.xml are printed which is what I don't want to. So, my question is how can we overwrite the item files in the second print script? Please help!

Original source

Related problems