Функции элементов
Начиная с MSBuild 4.0, код в задачах и целях может вызывать функции элементов для получения сведений об элементах проекта. Эти функции упрощают получение элементов Distinct() и занимают меньше времени, чем циклический просмотр всех элементов.
Строковые функции
Проекты могут вызывать любой метод свойства FX для элемента. Для элементов с несколькими строками функция выполняется по каждой сроке. Пример.
<x Include="a;b;cccc"/>
<z Include="@(x->get_Length())"/>
Возвращает z: 1;1;4
Прочие функции
Встроенные функции, доступные для элементов, перечислены в таблице ниже. В дополнение к этим функциям,
Функция |
Пример |
Описание |
---|---|---|
[DirectoryName] |
|
Возвращает свойство [DirectoryName] элементов в [itemsOfType]. |
[Metadata] |
|
Возвращает содержимое метаданных, указанных в элементе [argument[0]]. |
[DistinctWithCase] |
|
Возвращает элементы из [itemsOfType] с определенными значениями [Item1] в [Tuple]. При сравнении учитывается регистр. |
[Distinct] |
|
Возвращает элементы из [itemsOfType] с определенными значениями [Item1] в [Tuple]. При сравнении регистр не учитывается. |
[DistinctWithComparer] |
|
Встроенная функция, которая возвращает элементы из [itemsOfType] с определенными значениями [Item1] в [Tuple]. При сравнении регистр не учитывается. |
[ExpandQuotedExpressionFunction] |
|
Встроенная функция, которая преобразует выражения вида %(Trans) in @(Compile->'%(Trans)'). |
[ClearMetadata] |
|
Возвращает элементы из [itemsOfType] с очищенными метаданными. Таким образом, сохраняется только [itemspec]. |
[WithMetadataValue] |
|
Возвращает элементы с определенными метаданными. При сравнении регистр не учитывается. |
[AnyHaveMetadataValue] |
|
Возвращает значение boolean, определяющее наличие указанных метаданных в любом из элементов. При сравнении регистр не учитывается. |