CreateItem 工作
將輸入項目填入 (Populate) 項目集合。 如此可將項目從一份清單複製到另一份清單。
注意事項 |
---|
此工作已被取代。從 .NET Framework 3.5 開始,便可以將項目群組置於 Target 項目內。如需詳細資訊,請參閱 MSBuild 項目。 |
屬性
下表說明 CreateItem 工作的參數。
參數 |
描述 |
---|---|
AdditionalMetadata |
選擇性 String 陣列參數。 指定附加至輸出項目的額外中繼資料 (Metadata)。 以下列語法指定項目的中繼資料名稱和值。 MetadataName=MetadataValue 多重中繼資料名稱/值組應該要以分號分隔。 如果名稱或值含有分號或是其他任何特殊字元,則必須將它們逸出。 如需詳細資訊,請參閱 HOW TO:在 MSBuild 中逸出特殊字元。 |
Exclude |
選擇性的 ITaskItem[] 輸出參數。 指定要從輸出項目集合排除的項目。 這個參數可以含有萬用字元規格。 如需詳細資訊,請參閱 MSBuild 項目和 HOW TO:從組建中排除檔案。 |
Include |
必要的 ITaskItem[] 參數。 指定要包括在輸出項目集合中的項目。 這個參數可以含有萬用字元規格。 |
PreserveExistingMetadata |
選擇性 Boolean 參數。 如果為 True,則僅套用其他中繼資料 (如果其不存在)。 |
備註
除了以上列出的參數之外,此項工作還會繼承 TaskExtension 類別中的參數,而該類別本身又繼承 Task 類別。 如需這些錯誤碼的清單及其說明,請參閱 TaskExtension 基底類別。
範例
在下列程式碼範例中,從項目集合 MySourceItems 建立名為 MySourceItemsWithMetadata 的新項目集合。 CreateItem 工作會以 MySourceItems 項目中的項目填入新的項目集合。 之後便會在新集合的每個項目中,加入名為 MyMetadata 且具有 Hello 值的額外中繼資料項目。
在執行工作之後,MySourceItemsWithMetadata 項目集合會含有 file1.resx 和 file2.resx 項目,兩者都具有 MyMetadata 的中繼資料項目。 MySourceItems 項目集合不會變更。
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MySourceItems Include="file1.resx;file2.resx" />
</ItemGroup>
<Target Name="NewItems">
<CreateItem
Include="@(MySourceItems)"
AdditionalMetadata="MyMetadata=Hello">
<Output
TaskParameter="Include"
ItemName="MySourceItemsWithMetadata"/>
</CreateItem>
</Target>
</Project>
下表描述執行工作後輸出項目的值。 項目中繼資料出現在項目後的括號中。
項目集合 |
內容 |
---|---|
MySourceItemsWithMetadata |
file1.resx (MyMetadata="Hello") file2.resx (MyMetadata="Hello") |