업데이트: 2007년 11월
항목 컬렉션을 입력 항목으로 채웁니다. 이렇게 하면 항목을 한 목록에서 다른 목록으로 복사할 수 있습니다.
특성
다음 표에서는 CreateItem 작업의 매개 변수에 대해 설명합니다.
매개 변수 |
설명 |
---|---|
AdditionalMetadata |
선택적 String 매개 변수입니다. 출력 항목에 연결할 추가 메타데이터를 지정합니다. 다음 구문을 사용하여 항목에 대한 메타데이터 이름과 값을 지정합니다. MetadataName=MetadataValue 메타데이터 이름/값 쌍이 여러 개인 경우 세미콜론으로 구분해야 합니다. 이름이나 값 자체에 세미콜론 또는 기타 특수 문자가 들어 있으면 이를 이스케이프해야 합니다. 자세한 내용은 방법: MSBuild의 이스케이프 특수 문자를 참조하십시오. |
Exclude |
선택적 ITaskItem[] 매개 변수입니다. 출력 항목 컬렉션에서 제외할 항목을 지정합니다. 이 매개 변수에는 와일드카드를 사용할 수 있습니다. 자세한 내용은 MSBuild 항목 및 방법: 디렉터리에서 파일 하나를 제외하고 모두 빌드를 참조하십시오. |
Include |
선택적 ITaskItem[] 출력 매개 변수입니다. 출력 항목 컬렉션에 포함할 항목을 지정합니다. 이 매개 변수에는 와일드카드를 사용할 수 있습니다. |
예제
다음 코드 예제에서는 항목 컬렉션 MySourceItems에서 MySourceItemsWithMetadata라는 새 항목 컬렉션을 만듭니다. CreateItem 작업에서는 MySourceItems 항목 컬렉션에서 MyAddMetadata 값이 true인 항목을 사용하여 새 항목 컬렉션을 채웁니다. 그런 다음 값이 Hello인 MyMetadata라는 추가 메타데이터 엔트리를 새 컬렉션의 각 항목에 추가합니다.
작업을 실행한 후에 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") |