共用方式為


CreateItem 工作

更新:2007 年 11 月

將輸入項目填入 (Populate) 項目集合。如此可將項目從一份清單複製到另一份清單。

屬性

下表說明 CreateItem 工作的參數。

參數

描述

AdditionalMetadata

選擇性 (Optional) String 參數。

指定附加至輸出項目的額外中繼資料 (Metadata)。以下列語法指定項目的中繼資料名稱和值。

MetadataName=MetadataValue

多重中繼資料名稱/值組應該要以分號分隔。如果名稱或值含有分號或是其他任何特殊字元,則必須將它們逸出。如需詳細資訊,請參閱 HOW TO:在 MSBuild 中逸出特殊字元

Exclude

選擇性 ITaskItem[] 參數。

指定要從輸出項目集合排除的項目。這個參數可以含有萬用字元規格。如需詳細資訊,請參閱 MSBuild 項目HOW TO:將目錄中的某一檔案排除在外並建置其餘所有檔案

Include

選擇性的 ITaskItem[] 輸出參數。

指定要包括在輸出項目集合中的項目。這個參數可以含有萬用字元規格。

範例

在下列程式碼範例中,從項目集合 MySourceItems 建立名為 MySourceItemsWithMetadata 的新項目集合。CreateItem 工作將 MySourceItems 項目集合 (其中的 MyAddMetadata 值為 true) 中的項目,填入新的項目集合。之後便會在新集合的每個項目中,加入名為 MyMetadata 且具有 Hello 值的額外中繼資料項目。

在執行工作之後,MySourceItemsWithMetadata 項目集合會含有 file1.resx 和 file3.resx 項目,兩者都具有 MyAddMetadata 和 MyMetadata 的中繼資料項目。MySourceItems 項目集合不會變更。

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MySourceItems Include="file1.resx;file3.resx">
            <MyAddMetadata>true</MyAddMetadata>
        </MySourceItems>
        <MySourceItems Include="file2.resx">
            <MyAddMetadata>false</MyAddMetadata>
        </MySourceItems>
    </ItemGroup>

    <PropertyGroup>
        <MyValue>Hello</MyValue>
    </PropertyGroup>

    <Target Name="NewItems">

        <CreateItem
            Include="@(MySourceItems)"
            Condition="'%(MyAddMetadata)'=='true'"
            AdditionalMetadata="MyMetadata=$(MyValue)">

           <Output
               TaskParameter="Include"
               ItemName="MySourceItemsWithMetadata"/>
        </CreateItem>

    </Target>

</Project>

下表描述執行工作後輸出項目的值。項目中繼資料出現在項目後的括號中。

項目集合

內容

MySourceItemsWithMetadata

file1.resx (MyMetadata="Hello")

file3.resx (MyMetadata="Hello")

請參閱

概念

MSBuild 工作

其他資源

MSBuild 工作參考