Elemento Otherwise (MSBuild)
Especifica o bloco de código a executar se e somente se as condições de todos os elementos When
forem avaliadas como false
.
<Projeto><Choose><When><Choose> ... <Otherwise><Choose> ...
Syntax
<Otherwise>
<PropertyGroup>... </PropertyGroup>
<ItemGroup>... </ItemGroup>
<Choose>... </Choose>
</Otherwise>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Nenhum.
Elementos filho
Elemento | Descrição |
---|---|
Choose | Elemento opcional. Avalia elementos filhos para selecionar uma seção do código para executar. Pode ser que não haja nenhum ou mais de um elemento Choose em um elemento Otherwise . |
ItemGroup | Elemento opcional. Contém um conjunto de elementos Item definidos pelo usuário. Pode ser que não haja nenhum ou mais de um elemento ItemGroup em um elemento Otherwise . |
PropertyGroup | Elemento opcional. Contém um conjunto de definidos elementos Property definidos pelo usuário. Pode ser que não haja nenhum ou mais de um elemento PropertyGroup em um elemento Otherwise . |
Elementos pai
Elemento | Descrição |
---|---|
Choose | Avalia elementos filhos para selecionar uma seção do código para executar. |
Comentários
Pode haver apenas um elemento Otherwise
em um elemento Choose
e ele deve ser o último elemento.
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
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>