Choose 요소(MSBuild)Choose Element (MSBuild)

자식 요소를 평가하여 평가할 ItemGroup 요소 및/또는 PropertyGroup 요소의 집합 하나를 선택합니다.Evaluates child elements to select one set of ItemGroup elements and/or PropertyGroup elements to evaluate.

<Project><Project>
<Choose><Choose>
<When><When>
<Choose><Choose>
......
<Otherwise><Otherwise>
<Choose><Choose>
......

구문Syntax

<Choose>  
    <When Condition="'StringA'=='StringB'">... </When>  
    <Otherwise>... </Otherwise>  
</Choose>  

특성 및 요소Attributes and Elements

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.The following sections describe attributes, child elements, and parent elements.

특성Attributes

없음None.

자식 요소Child Elements

요소Element 설명Description
OtherwiseOtherwise 선택적 요소입니다.Optional element.

모든 When 요소의 조건이 false로 평가될 경우 평가할 코드 PropertyGroupItemGroup 요소의 블록을 지정합니다.Specifies the block of code PropertyGroup and ItemGroup elements to evaluate if the conditions of all When elements evaluate to false. Choose 요소에 0개 이상의 Otherwise 요소가 있을 수 있으며 마지막 요소여야 합니다.There may be zero or one Otherwise elements in a Choose element, and it must be the last element.
WhenWhen 필수적 요소입니다.Required element.

Choose 요소에서 선택할 수 있는 가능한 코드 블록을 지정합니다.Specifies a possible block of code for the Choose element to select. Choose 요소에는 When 요소가 하나 이상 있을 수 있습니다.There may be one or more When elements in a Choose element.

부모 요소Parent Elements

요소Element 설명Description
OtherwiseOtherwise 모든 When 요소가 false로 평가될 경우 실행할 코드 블록을 지정합니다.Specifies the block of code to execute if the conditions of all When elements evaluate to false.
ProjectProject MSBuildMSBuild 프로젝트 파일의 필수 루트 요소입니다.Required root element of an MSBuildMSBuild project file.
WhenWhen Choose 요소에서 선택할 수 있는 가능한 코드 블록을 지정합니다.Specifies a possible block of code for the Choose element to select.

설명Remarks

Choose, WhenOtherwise 요소는 몇 가지 가능한 대안 중에서 실행할 코드의 한 섹션을 선택하는 방법을 제공하기 위해 함께 사용됩니다.The Choose, When, and Otherwise elements are used together to provide a way to select one section of code to execute out of a number of possible alternatives. 자세한 내용은 조건부 구문을 참조하세요.For more information, see Conditional Constructs.

예제Example

다음 프로젝트에서는 Choose 요소를 사용하여 설정할 When 요소의 속성 값 집합을 선택합니다.The following project uses the Choose element to select which set of property values in the When elements to set. When 요소의 Condition 특성이 모두 false로 평가되면 Otherwise 요소의 속성 값이 설정됩니다.If the Condition attributes of both When elements evaluate to false, the property values in the Otherwise element are set.

<Project  
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >  
    <PropertyGroup>  
        <Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>  
        <OutputType>Exe</OutputType>  
        <RootNamespace>ConsoleApplication1</RootNamespace>  
        <AssemblyName>ConsoleApplication1</AssemblyName>  
        <WarningLevel>4</WarningLevel>  
    </PropertyGroup>  
    <Choose>  
        <When Condition=" '$(Configuration)'=='debug' ">  
            <PropertyGroup>  
                <DebugSymbols>true</DebugSymbols>  
                <DebugType>full</DebugType>  
                <Optimize>false</Optimize>  
                <OutputPath>.\bin\Debug\</OutputPath>  
                <DefineConstants>DEBUG;TRACE</DefineConstants>  
            </PropertyGroup>  
            <ItemGroup>  
                <Compile Include="UnitTesting\*.cs" />  
                <Reference Include="NUnit.dll" />  
            </ItemGroup>  
        </When>  
        <When Condition=" '$(Configuration)'=='retail' ">  
            <PropertyGroup>  
                <DebugSymbols>false</DebugSymbols>  
                <Optimize>true</Optimize>  
                <OutputPath>.\bin\Release\</OutputPath>  
                <DefineConstants>TRACE</DefineConstants>  
            </PropertyGroup>  
        </When>  
        <Otherwise>  
            <PropertyGroup>  
                <DebugSymbols>true</DebugSymbols>  
                <Optimize>false</Optimize>  
                <OutputPath>.\bin\$(Configuration)\</OutputPath>  
                <DefineConstants>DEBUG;TRACE</DefineConstants>  
            </PropertyGroup>  
        </Otherwise>  
    </Choose>  
    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />  
</Project>  

참고 항목See Also

조건부 구문 Conditional Constructs
프로젝트 파일 스키마 참조Project File Schema Reference