Подтвердить что ты не робот

Пустой элемент MSBuild ItemGroup

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

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

Спасибо

4b9b3361

Ответ 1

Теперь есть.

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

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

Ответ 2

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

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

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

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