Partager via


Otherwise, élément (MSBuild)

Mise à jour : novembre 2007

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

É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 de propriétés des éléments When à définir. Si les attributs Condition des deux éléments When ont la valeur false, les valeurs de 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

Concepts

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

Référence

Constructions conditionnelles MSBuild