如果项目不存在于另一个ItemGroup中,如何过滤ItemGroup

时间:2014-12-04 23:00:07

标签: msbuild

我有一个ItemGroup:

<ItemGroup>
  <MainItem Include="A;B;C;D;E;F" />
</ItemGroup>

如果上述ItemGroup中不存在项目,我想从另一个ItemGroup过滤:

<ItemGroup>
   <MyItem Include="A;C;G;H" />
</ItemGroup>

<ItemGroup>
   <Filtered Include="@(MyItem)" Condition="If %(MyItem.Identity) not exists in @(MainItem)" />
</ItemGroup>

我希望@(Filtered) = 'G;H'

1 个答案:

答案 0 :(得分:2)

可能有一种方法可以尝试使用批处理,但我没有立即找到它,即使它可能不会像这一样简单和优雅:

<ItemGroup>
  <Filtered Include="@(MyItem)" Exclude="@(MainItem)" />
</ItemGroup>