다음을 통해 공유


Otherwise 요소(MSBuild)

모든 When 요소가 false로 평가될 경우에만 실행할 코드 블록을 지정합니다.

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

구문

<Otherwise>
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <Choose>... </Choose>
</Otherwise>

특성 및 요소

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

특성

없음

자식 요소

요소 설명
선택 선택적 요소입니다.

자식 요소를 평가하여 실행할 코드의 한 섹션을 선택합니다. Choose 요소에는 Otherwise 요소가 0개 또는 그 이상 있을 수 있습니다.
ItemGroup 선택적 요소입니다.

사용자 정의 Item 요소 집합을 포함합니다. ItemGroup 요소에는 Otherwise 요소가 0개 또는 그 이상 있을 수 있습니다.
PropertyGroup 선택적 요소입니다.

사용자 정의 Property 요소 집합을 포함합니다. PropertyGroup 요소에는 Otherwise 요소가 0개 또는 그 이상 있을 수 있습니다.

부모 요소

요소 설명
선택 자식 요소를 평가하여 실행할 코드의 한 섹션을 선택합니다.

설명

Choose 요소에 Otherwise 요소가 1개만 있을 수 있으며 마지막 요소여야 합니다.

Choose, WhenOtherwise 요소는 몇 가지 가능한 대안 중에서 실행할 코드의 한 섹션을 선택하는 방법을 제공하기 위해 함께 사용됩니다. 자세한 내용은 조건부 구문을 참조하세요.

예시

다음 프로젝트에서는 Choose 요소를 사용하여 설정할 When 요소의 속성 값 집합을 선택합니다. 두 When 요소의 Condition 특성이 모두 false로 평가되면 Otherwise 요소의 속성 값이 설정됩니다.

<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>

참고 항목