Очистить группу элементов MSBuild - PullRequest
16 голосов
/ 27 октября 2011

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

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

Спасибо

Ответы [ 2 ]

15 голосов
/ 27 октября 2011

Нет, как говорится в документации, Удалить можно включить только в 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>
10 голосов
/ 16 июня 2017

Сейчас есть.

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

  • Item Элемент вне целей имеет новый атрибут Update. Также, снято ограничение на атрибут Remove.
...