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") |