Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Évalue des éléments enfants pour sélectionner un ensemble d’éléments ItemGroup et/ou d’éléments PropertyGroup à évaluer.
<Projet><Choisir><Quand><Choisir> ... <Autrement><Choisir> ...
L’élément Choose contient une série d’éléments When avec des attributs Condition qui sont testés du haut vers le bas, jusqu’à ce qu’un élément soit trouvé « true ». Si plusieurs éléments When ont la valeur « true », seul le premier est utilisé. Si un élément Otherwise est présent, il est évalué si aucune condition d’un élément When n’a la valeur « true ».
Syntaxe
<Choose>
<When Condition="'StringA'=='StringB'">... </When>
<Otherwise>... </Otherwise>
</Choose>
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 |
|---|---|
| Otherwise | Élément facultatif. Spécifie le bloc de code PropertyGroup et les éléments ItemGroup à exécuter si les conditions de tous les éléments When correspondent à la valeur false. Un élément Choose peut ne contenir aucun élément Otherwise ou en contenir un seul qui doit figurer en dernière position. |
| Quand | Élément requis. Spécifie un bloc de code que l’élément Choose peut sélectionner. Un élément Choose peut contenir un ou plusieurs éléments When. |
Éléments parents
| Élément | Description |
|---|---|
| Otherwise | Spécifie le bloc de code à exécuter si les conditions de tous les éléments When correspondent à la valeur false. |
| Projet | Élément racine requis d’un fichier projet MSBuild. |
| Quand | Spécifie un bloc de code que l’élément Choose peut sélectionner. |
Remarques
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>
<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>