共用方式為


Item 項目 (MSBuild)

更新:2007 年 11 月

含有使用者定義的項目及其中繼資料 (Metadata)。MSBuild 專案中使用的每個項目 (Item),都必須指定為 ItemGroup 項目 (Element) 的子系。

<Item Include="*.cs"
        Exclude="MyFile.cs"
        Condition="'String A'=='String B'" >
    <ItemMetadata1>...</ItemMetadata1>
    <ItemMetadata2>...</ItemMetadata2>
</Item>

屬性和項目

下列小節將說明屬性 (Attribute)、子項目和父項目。

屬性

屬性

描述

Include

必要的屬性。

要包括在項目中的檔案或萬用字元。

Exclude

選擇性屬性。

要從項目排除的檔案或萬用字元。

Condition

選擇性屬性。

要評估的條件。如需詳細資訊,請參閱 MSBuild 條件

子項目

項目

描述

ItemMetadata

使用者定義的項目中繼資料索引鍵,其中含有項目中繼資料值。項目 (Item) 中可能有零個或多個 ItemMetadata 項目 (Element)。

父項目

項目

描述

ItemGroup

項目 (Item) 的群組項目 (Element)。

備註

Item 項目 (Element) 定義對建置 (Build) 系統的輸入,並根據使用者定義的集合名稱,群組為項目 (Item) 集合。這些項目集合可以用來做為工作的參數,工作會使用集合中所包含的個別項目來執行建置程序的步驟。如需詳細資訊,請參閱 MSBuild 項目

使用標記法 @(myType) 允許將 myType 型別的項目集合展開為以分號 (;) 分隔的字串清單,並傳遞至參數。如果參數屬於 string 型別,則參數的值就會是以分號分隔的項目清單。如果參數是字串的陣列 (string[]),每個項目便會根據分號的位置,插入到陣列之中。如果工作參數屬於 ITaskItem[] 型別,則參數值就是項目集合的內容加上任何附加的中繼資料。若要使用分號以外的字元來分隔每個項目,請使用 @(myType, 'separator') 語法。

MSBuild 引擎能夠評估如 * 和 ? 的萬用字元,以及如 /**/*.cs 的遞迴萬用字元。如需詳細資訊,請參閱 MSBuild 項目

範例

在下列程式碼範例中,示範了如何宣告兩個 CSFile 型別的項目。第二個宣告項目含有 myAttribute 設定為 HelloWorld 的中繼資料。

<ItemGroup>
    <CSFile Include="engine.cs; form.cs" />
    <CSFile Include="main.cs" >
        <MyMetadata>HelloWorld</MyMetadata>
    </Item>
</ItemGroup>

請參閱

概念

MSBuild 項目

MSBuild 屬性

MSBuild 專案檔案結構描述參考