Очистить группу элементов MSBuild

Есть ли способ удалить содержимое ItemGroup, не прибегая к Targets? Я ищу что-то эквивалентное:

<ItemGroup>
  <MyItemGroup Remove="@(MyItemGroup)"/>
</ItemGroup>

Спасибо

2 ответа

Решение

Сейчас есть.

Что нового в MSBuild 15

  • Item Элемент вне цели имеет новый Update приписывать. Кроме того, ограничение на Remove атрибут был устранен.

Нет, как говорится в документации, Удалить можно включить только в ItemGroup внутри Target. Я не уверен, почему использование Target является проблемой в вашем случае, но если вы хотите использовать шаг "Удалить" для каждой конфигурации сборки, добавьте его к одной из ловушек AfterXXX BeforeXXXX, например, BeforeBuild.

ItemGroup 'Удалить' Документация

Начиная с.NET Framework 3.5, элементы Target могут содержать элементы ItemGroup, которые могут содержать элементы item. Эти элементы элемента могут содержать атрибут Remove, который удаляет определенные элементы (файлы) из типа элемента. Например, следующий XML удаляет каждый файл.config из типа элемента Compile.

<Target>
  <ItemGroup>
    <Compile Remove="*.config"/>
  </ItemGroup>
</Target>
Другие вопросы по тегам