共用方式為


Item 函式

從 MSBuild 4.0 開始,工作和目標中的程式碼可以呼叫項目函式,以取得有關專案中項目的資訊。 這些函式可以簡化取得 Distinct() 項目,並且比執行項目迴圈的速度更快。

字串函式

專案可以在項目上呼叫任何 FX 字串屬性方法。 若項目包含多個字串,則函式會在每一個字串上執行。 例如:

<x Include="a;b;cccc"/>
<z Include="@(x->get_Length())"/>

傳回 z: 1;1;4

其他函式

下表列出項目可使用的內建函式。 除了這些函式之外,

函式

範例

描述

[DirectoryName]

@(MyItem->DirectoryName())

傳回 [itemsOfType] 中項目的 [DirectoryName]。

[Metadata]

@(MyItem->Metadata("Name"))

傳回 [argument[0]] 內指定的中繼資料內容。

[DistinctWithCase]

@(AnItem->DistinctWithCase())

傳回 [itemsOfType] 中的項目,這些項目在 [Tuple] 內各有不同的 [Item1] 值。 比較時會區分大小寫。

[Distinct]

@(AnItem->Distinct())

傳回 [itemsOfType] 中的項目,這些項目在 [Tuple] 內各有不同的 [Item1] 值。 比較時不區分大小寫。

[DistinctWithComparer]

@(MyItem->DistinctWithComparer())

會從 [itemsOfType] 傳回項目的內建函式,這些傳回的項目在 [Tuple] 內各有不同的 [Item1] 值。 比較時不區分大小寫。

[ExpandQuotedExpressionFunction]

@(MyItem->ExpandQuotedExpressionFunction("@(Compile->'%(Trans)')"))

轉換如 %(Trans) in @(Compile->'%(Trans)') 這類運算式的內建函式。

[ClearMetadata]

@(MyItem->ClearMetadata())

從 [itemsOfType] 傳回項目,但是會清除中繼資料,也就是 只保留 [itemspec]。

[WithMetadataValue]

@(MyItem->WithMetadataValue("ItemType"))

傳回具有指定之中繼資料的項目。 比較時不區分大小寫。

[AnyHaveMetadataValue]

@(MyItem->AnyHavemetadataValue("ItemType"))

傳回 boolean,這個值表示是否有任何具有指定之中繼資料的項目。 比較時不區分大小寫。