ItemGroup 요소(MSBuild)

사용자 정의 Item 요소 집합을 포함합니다. MSBuild 프로젝트에서 사용되는 모든 항목은 ItemGroup 요소의 자식으로 지정해야 합니다.

<Project><ItemGroup>

구문

<ItemGroup Condition="'String A' == 'String B'"
           Label="Label">
    <Item1>... </Item1>
    <Item2>... </Item2>
</ItemGroup>

특성 및 요소

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

특성

특성 설명
Condition 선택적 특성입니다. 평가할 조건입니다. 자세한 내용은 조건을 참조하세요.
Label 선택적 특성입니다. ItemGroup를 식별합니다.

자식 요소

요소 설명
항목 빌드 프로세스에 대한 입력을 정의합니다. ItemGroup에는 0개 이상의 Item 요소가 있을 수 있습니다.

제네릭 Item 요소 외에도 ItemGroup은 일반 MSBuild 프로젝트 항목에 나열된 항목 형식(예: Reference, ProjectReference, Compile, 기타)을 나타내는 자식 요소를 허용합니다.

부모 요소

요소 Description
프로젝트 MSBuild 프로젝트 파일의 필수 루트 요소입니다.
대상 .NET Framework 3.5부터 ItemGroup 요소는 Target 요소 내에 표시될 수 있습니다. 자세한 내용은 대상을 참조하세요.

예시

다음 코드 예제에서는 사용자 정의 항목 컬렉션 ResItemGroup 요소 내에 선언된 CodeFiles를 보여 줍니다. Res 항목 컬렉션의 각 항목은 사용자 정의 자식 ItemMetadata 요소를 포함합니다.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Res Include = "Strings.fr.resources" >
            <Culture>fr</Culture>
        </Res>
        <Res Include = "Dialogs.fr.resources" >
            <Culture>fr</Culture>
        </Res>

        <CodeFiles Include="**\*.cs" Exclude="**\generated\*.cs" />
        <CodeFiles Include="..\..\Resources\Constants.cs" />
    </ItemGroup>
...
</Project>

간단한 프로젝트 파일에서는 일반적으로 단일 ItemGroup 요소를 사용하지만 여러 ItemGroup 요소를 사용할 수도 있습니다. 여러 ItemGroup 요소가 사용되는 경우 항목은 단일 ItemGroup으로 결합됩니다. 예를 들어 일부 항목은 가져온 파일에 정의된 별도의 ItemGroup 요소에 포함될 수 있습니다.

ItemGroups에는 Condition 특성을 사용하여 적용되는 조건이 있을 수 있습니다. 이 경우 조건이 충족되는 경우에만 항목이 항목 목록에 추가됩니다. MSBuild 조건을 참조하세요.

Label 특성은 일부 빌드 시스템에서 빌드 동작을 제어하는 방법으로 사용됩니다. 이 특성은 선언에서만 더 이해하기 쉬운 MSBuild 스크립트를 만드는 방법 또는 빌드 작업에 영향을 주는 제어 설정으로 사용할 수 있습니다.

참고 항목