다음을 통해 공유


Item 요소(MSBuild)

업데이트: 2007년 11월

사용자 정의 항목과 메타데이터가 들어 있습니다. MSBuild 프로젝트에 사용되는 모든 항목은 ItemGroup 요소의 자식으로 지정해야 합니다.

<Item Include="*.cs"
Exclude="MyFile.cs"
Condition="'String A'=='String B'" >
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성

설명

Include

필수 특성입니다.

항목에 포함할 파일이나 와일드카드입니다.

Exclude

선택적 특성입니다.

항목에서 제외할 파일이나 와일드카드입니다.

Condition

선택적 특성입니다.

확인할 조건입니다. 자세한 내용은 MSBuild 조건을 참조하십시오.

자식 요소

요소

설명

ItemMetadata

항목 메타데이터 값이 들어 있는 사용자 정의 항목 메타데이터 키입니다. 항목에는 ItemMetadata 요소가 0개 이상 있을 수 있습니다.

부모 요소

요소

설명

ItemGroup

항목의 그룹화 요소입니다.

설명

Item 요소는 빌드 시스템에 대한 입력을 정의하고, 해당 사용자 정의 컬렉션 이름을 기준으로 한 항목 컬렉션으로 그룹화됩니다. 이러한 항목 컬렉션은 빌드 프로세스의 각 단계를 수행하기 위해 컬렉션에 들어 있는 개별 항목을 사용하는 tasks에 대한 매개 변수로 사용할 수 있습니다. 자세한 내용은 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>
    </Item>
</ItemGroup>

참고 항목

개념

MSBuild 항목

MSBuild 속성

MSBuild 프로젝트 파일 스키마 참조