清空MSBuild ItemGroup

时间:2011-10-26 22:46:37

标签: msbuild itemgroup

有没有办法在不诉诸目标的情况下删除ItemGroup的内容?我正在寻找相当于:

的东西
<ItemGroup>
  <MyItemGroup Remove="@(MyItemGroup)"/>
</ItemGroup>

由于

2 个答案:

答案 0 :(得分:15)

不,正如文档所述,Remove只能包含在Target内的ItemGroup中。我不确定为什么在你的情况下使用Target是个问题,但是如果想为每个构建配置使用'Remove'步骤,那么将它添加到BeforeXXXX AfterXXX钩子之一,比如BeforeBuild。

ItemGroup 'Remove' Documentation

  

从.NET Framework 3.5开始,Target元素可能包含可能包含item元素的ItemGroup元素。这些项元素可以包含Remove属性,该属性从项类型中删除特定项(文件)。例如,以下XML从Compile项类型中删除每个.config文件。

<Target>
  <ItemGroup>
    <Compile Remove="*.config"/>
  </ItemGroup>
</Target>

答案 1 :(得分:9)

现在有。

What's New in MSBuild 15

  
      
  • Item外部目标元素具有新的Update属性。此外,Remove属性的限制已被删除。
  •   
相关问题