Partager via


Otherwise, élément (MSBuild)

Spécifie le bloc de code à exécuter si et uniquement si les conditions de tous les éléments When ont la valeur false.

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Aucun

Éléments enfants

Élément

Description

Choose

Élément facultatif.

Évalue des éléments enfants pour sélectionner une section de code à exécuter. Un élément Otherwise peut ne contenir aucun élément Choose ou en contenir plusieurs.

ItemGroup

Élément facultatif.

Contient un ensemble d'éléments Item définis par l'utilisateur. Un élément Otherwise peut ne contenir aucun élément ItemGroup ou en contenir plusieurs.

PropertyGroup

Élément facultatif.

Contient un ensemble d'éléments Property définis par l'utilisateur. Un élément Otherwise peut contenir zéro, un ou plusieurs éléments PropertyGroup.

Éléments parents

Élément

Description

Choose

Évalue des éléments enfants pour sélectionner une section de code à exécuter.

Notes

Il ne peut y avoir qu'un élément Otherwise dans un élément Choose et il doit représenter le dernier élément.

Les éléments Choose, When et Otherwise sont utilisés ensemble pour permettre la sélection d'une section de code spécifique à exécuter parmi plusieurs alternatives possibles. Pour plus d'informations, consultez Constructions conditionnelles MSBuild.

Exemple

Le projet suivant utilise l'élément Choose pour sélectionner le jeu de valeurs des propriétés des éléments When à définir. Si les attributs Condition des deux éléments When ont la valeur false, les valeurs des propriétés dans l'élément Otherwise sont définies.

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

Voir aussi

Référence

Constructions conditionnelles MSBuild

Concepts

Référence du schéma de fichier de projet MSBuild