Item 요소(MSBuild)
사용자 정의 항목과 메타데이터가 들어 있습니다. MSBuild 프로젝트에 사용되는 모든 항목은 ItemGroup 요소의 자식으로 지정해야 합니다.
<Item Include="*.cs"
Exclude="MyFile.cs"
Remove="RemoveFile.cs"
Condition="'String A'=='String B'" >
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
특성 및 요소
다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
특성
특성 |
설명 |
---|---|
Include |
필수 특성입니다. 항목 목록에 포함할 파일이나 와일드카드입니다. |
Exclude |
선택적 특성입니다. 항목 목록에서 제외할 파일이나 와일드카드입니다. |
Remove |
선택적 특성입니다. 항목 목록에서 제거할 파일 또는 와일드카드입니다. 이 특성은 Target의 ItemGroup에 있는 항목에 대해 지정된 경우에만 유효합니다. |
Condition |
선택적 특성입니다. 확인할 조건입니다. 자세한 내용은 MSBuild 조건을 참조하십시오. |
자식 요소
요소 |
설명 |
---|---|
항목 메타데이터 값이 들어 있는 사용자 정의 항목 메타데이터 키입니다. 하나의 항목에 ItemMetadata 요소가 0개 이상 있을 수 있습니다. |
부모 요소
요소 |
설명 |
---|---|
항목의 그룹화 요소입니다. |
설명
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>
</CSFile>
</ItemGroup>