Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Avalia a elementos filho para selecionar um conjunto de elementos ItemGroup e/ou PropertyGroup a ser avaliado.
<Projeto><Choose><When><Choose> ... <Otherwise><Choose> ...
O elemento Choose contém uma série de elementos de When com atributos Condition que são testados na ordem de cima para baixo até que um seja avaliado como true. Se mais de um elemento When for avaliado como true, somente o primeiro será usado. Um elemento Otherwise, se presente, será avaliado se nenhuma condição em um elemento When for avaliada como true.
Syntax
<Choose>
<When Condition="'StringA'=='StringB'">... </When>
<Otherwise>... </Otherwise>
</Choose>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Nenhum.
Elementos filho
| Elemento | Descrição |
|---|---|
| Otherwise | Elemento opcional. Especifica o bloco de código PropertyGroup e os elementos ItemGroup para avaliar se as condições de todos os elementos When correspondem a false. Pode haver um zero ou um elemento Otherwise em um elemento Choose, e ele deve ser o último elemento. |
| Quando | Elemento necessário. Especifica um possível bloco de códigos para o elemento Choose selecionar. Pode haver um ou mais elementos When em um elemento Choose. |
Elementos pai
| Elemento | Descrição |
|---|---|
| Otherwise | Especifica o bloco de código a ser executado se as condições de todos os elementos When forem avaliadas como false. |
| Projeto | Elemento raiz necessário de um arquivo de projeto do MSBuild. |
| Quando | Especifica um possível bloco de códigos para o elemento Choose selecionar. |
Comentários
Os elementos Choose, When e Otherwise são usados juntos para fornecer uma maneira de selecionar uma seção de código para executar entre diversas possíveis alternativas. Para obter mais informações, confira Constructos condicionais.
Exemplo
O seguinte projeto usa o Choose elemento para selecionar o conjunto de valores de propriedades no elemento When a ser definido. Se os Condition atributos de ambos When elementos são avaliadas como false, os valores de propriedades no elemento Otherwise são definidos.
<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>