Share via


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

선택적 특성입니다.

항목 목록에서 제거할 파일 또는 와일드카드입니다. 이 특성은 TargetItemGroup에 있는 항목에 대해 지정된 경우에만 유효합니다.

Condition

선택적 특성입니다.

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

자식 요소

요소

설명

ItemMetadata

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

부모 요소

요소

설명

ItemGroup

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

설명

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>

참고 항목

개념

MSBuild 항목

MSBuild 속성

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