项函数
从 MSBuild 4.0 开始,任务和目标中的代码可以调用项函数,以获取有关项目中的项的信息。 这些函数简化了获取 Distinct() 项的过程,比循环访问各个项的速度更快。
字符串函数
项目可对项调用任何 FX 字符串属性方法。 对于包含多个字符串的项,会对每个字符串运行函数。 例如:
<x Include="a;b;cccc"/>
<z Include="@(x->get_Length())"/>
返回 z: 1;1;4
其他函数
下表列出了可用于项的内部函数。 除这些函数外,
函数 |
示例 |
说明 |
---|---|---|
[DirectoryName] |
|
返回 [itemsOfType] 中的项的 [DirectoryName]。 |
[Metadata] |
|
返回 [argument[0]] 中指定的元数据的内容。 |
[DistinctWithCase] |
|
从 [itemsOfType] 中返回在 [Tuple] 中具有不同 [Item1] 值的项。 比较是区分大小写的。 |
[Distinct] |
|
从 [itemsOfType] 中返回在 [Tuple] 中具有不同 [Item1] 值的项。 比较不区分大小写。 |
[DistinctWithComparer] |
|
可从 [itemsOfType] 中返回在 [Tuple] 中具有不同 [Item1] 值的项的内部函数。 比较不区分大小写。 |
[ExpandQuotedExpressionFunction] |
|
可转换类似于 %(Trans) in @(Compile->'%(Trans)') 的表达式的内部函数。 |
[ClearMetadata] |
|
从 [itemsOfType] 返回项并清除项的元数据,即, 仅保留 [itemspec]。 |
[WithMetadataValue] |
|
返回具有给定元数据的项。 比较不区分大小写。 |
[AnyHaveMetadataValue] |
|
返回 boolean 以指示是否有任何项具有给定元数据。 比较不区分大小写。 |