Élément Otherwise (MSBuild)

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

<Projet><Choisir><Quand><Choisir> ... <Autrement><Choisir> ...

Syntaxe

<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

Aucune.

Éléments enfants

Élément Description
Choose Élément facultatif.

Évalue les é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 ne contenir aucun élément PropertyGroup ou en contenir plusieurs.

Éléments parents

Élément Description
Choose Évalue les éléments enfants pour sélectionner une section de code à exécuter.

Notes

Un élément Choose ne peut comprendre qu’un seul élément Otherwise qui doit figurer en dernière position.

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 options possibles. Pour plus d’informations, consultez Constructions conditionnelles.

Exemple

Le projet suivant utilise l’élément Choose pour sélectionner l’ensemble de valeurs de propriété à définir dans les éléments When. Si les attributs Condition des deux éléments When s’évaluent à false, les valeurs des propriétés dans l’élément Otherwise sont définies.

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

Voir aussi