Compartilhar via


Qualquer outro elemento (MSBuild)

Especifica o bloco de código seja executado se e somente se as condições de todas as When elementos avaliada como false.

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

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Nenhum.

Elementos filho

Elemento

Descrição

Choose

Elemento opcional.

Avalia os elementos filho para selecionar uma seção de código será executado.Pode haver zero ou mais Choose elementos em um Otherwise elemento.

ItemGroup

Elemento opcional.

Contém um conjunto de definidos pelo usuário Item elementos.Pode haver zero ou mais ItemGroup elementos em um Otherwise elemento.

PropertyGroup

Elemento opcional.

Contém um conjunto de definidos pelo usuário propriedade elementos.Pode haver zero ou mais PropertyGroup elementos em um Otherwise elemento.

Elementos pai

Elemento

Descrição

Choose

Avalia os elementos filho para selecionar uma seção de código será executado.

Comentários

Pode haver apenas um Otherwise elemento em um Choose elemento e ele devem ser o último elemento.

O Choose, When, e Otherwise elementos são usados juntos para fornecer uma maneira para selecionar uma seção do código seja executado fora de um número de possíveis alternativas.Para obter mais informações, consulte Construções condicionais do MSBuild.

Exemplo

A seguir o project usa a Choose elemento para selecionar qual conjunto de valores de propriedade no When elementos para definir.Se o Condition atributos de ambos When elementos avaliada como false, a propriedade valores a Otherwise elemento são definidas.

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

Consulte também

Referência

Construções condicionais do MSBuild

Conceitos

Referência de esquema do arquivo de projeto MSBuild