escolher elemento (MSBuild)
Avalia os elementos filho para selecionar um conjunto de ItemGroup elementos e/ou PropertyGroup elementos de avaliar.
<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 |
---|---|
Elemento opcional. Especifica o bloco de código PropertyGroup e ItemGroup elementos para avaliar se as condições de todas as When elementos avaliada como false. Pode haver zero ou um Otherwise elementos em um Choose elemento e devem ser o último elemento. |
|
Elemento necessário. Especifica um bloco de código para o possívelChoose elemento Selecionar. Pode haver um ou mais When elementos em um Choose elemento. |
Elementos pai
Elemento |
Descrição |
---|---|
Especifica o bloco de código para executar se as condições de todos os When elementos avaliada como false. |
|
Elemento raiz exigido de um MSBuild arquivo de projeto. |
|
Especifica um bloco de código para o possívelChoose elemento Selecionar. |
Comentários
The Choose, When, e Otherwise elementos são usados juntos para fornecer uma maneira de selecionar uma seção do código seja executado fora de um número de possíveis alternativas. Para obter mais informações, consulte MSBuild construções condicional.
Exemplo
O projeto a seguir usa o Choose elemento para selecionar qual conjunto de valores de propriedade no When elementos para serem definidos. Se o Condition atributos de ambos When elementos avaliada como false, a propriedade valores na Otherwise elemento serão definidas.
<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>
Consulte também
Conceitos
Referência de esquema de arquivo de projeto MSBuild