다음을 통해 공유


Otherwise 요소(MSBuild)

모든 When 요소의 조건이 false로 확인되는 경우에만 실행할 코드 블록을 지정합니다.

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

특성 및 요소

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

특성

없음

자식 요소

요소

설명

Choose

선택적 요소입니다.

자식 요소를 확인하여, 실행할 코드 섹션을 하나 선택합니다. Otherwise 요소에는 Choose 요소가 0개 이상 있을 수 있습니다.

ItemGroup

선택적 요소입니다.

사용자 정의 Item 요소 집합이 들어 있습니다. Otherwise 요소에는 ItemGroup 요소가 0개 이상 있을 수 있습니다.

PropertyGroup

선택적 요소입니다.

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

부모 요소

요소

설명

Choose

자식 요소를 확인하여, 실행할 코드 섹션을 하나 선택합니다.

설명

Choose 요소에는 Otherwise 요소가 하나만 있을 수 있으며, 이 요소는 마지막 요소여야 합니다.

Choose, WhenOtherwise 요소는 여러 가지 가능한 경우의 수 중에서 실행할 코드 하나를 선택할 수 있도록 함께 사용됩니다. 자세한 내용은 MSBuild 조건부 구문를 참조하십시오.

예제

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

<Project
    xmlns="https://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>

참고 항목

참조

MSBuild 조건부 구문

개념

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