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 |
선택적 특성입니다. 항목 목록에서 제외할 파일이나 와일드카드입니다. |
Condition |
선택적 특성입니다. 확인할 조건입니다.자세한 내용은 MSBuild 조건을 참조하십시오. |
Remove |
선택적 특성입니다. 항목 목록에서 제거할 파일 또는 와일드카드입니다. 가 있는 항목에 대해 지정한 경우에이 특성이 유효는 ItemGroup 에 있는 Target. |
KeepMetadata |
선택적 특성입니다. 대상 항목을 추가할 때 원본 항목에 대 한 메타 데이터입니다.대상 항목을 소스 항목에서 이름이 세미콜론으로 구분 된 목록에 지정 된 메타 데이터만 전송 됩니다.자세한 내용은 MSBuild 항목을 참조하십시오. 가 있는 항목에 대해 지정한 경우에이 특성이 유효는 ItemGroup 에 있는 Target. |
RemoveMetadata |
선택적 특성입니다. 대상 항목을 전송 하려면 소스 항목에 대 한 메타 데이터입니다.모든 메타 데이터 소스 항목에서 대상 항목 메타 데이터를 제외 하 고 세미콜론으로 구분한 이름 목록에서 이름이 포함 되어 전송 됩니다.자세한 내용은 MSBuild 항목을 참조하십시오. 가 있는 항목에 대해 지정한 경우에이 특성이 유효는 ItemGroup 에 있는 Target. |
KeepDuplicates |
선택적 특성입니다. 기존 항목에 대 한 중복 되는 경우 항목을 대상 그룹에 추가할지 여부를 지정 합니다.동일한 원본 및 대상 항목의 경우 Include 값 이지만 서로 다른 메타 데이터의 항목으로 추가한 경우에도 KeepDuplicates 로 설정 된 false.자세한 내용은 MSBuild 항목을 참조하십시오. 가 있는 항목에 대해 지정한 경우에이 특성이 유효는 ItemGroup 에 있는 Target. |
자식 요소
요소 |
설명 |
---|---|
항목 메타데이터 값이 들어 있는 사용자 정의 항목 메타데이터 키입니다.하나의 항목에 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>