Item 函式
從 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,這個值表示是否有任何具有指定之中繼資料的項目。 比較時不區分大小寫。 |