Elemento Otherwise (MSBuild)
Especifica el bloque de código que se ejecutará solo si las condiciones de todos los elementos When
se evalúan como false
.
<Proyecto><Choose><When><Choose> ... <Otherwise><Choose> ...
Sintaxis
<Otherwise>
<PropertyGroup>... </PropertyGroup>
<ItemGroup>... </ItemGroup>
<Choose>... </Choose>
</Otherwise>
Atributos y elementos
En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Atributos
Ninguno.
Elementos secundarios
Elemento | Descripción |
---|---|
Choose | Elemento opcional. Evalúa los elementos secundarios para seleccionar una sección de código y ejecutarla. Puede haber cero o más elementos Choose en un elemento Otherwise . |
ItemGroup | Elemento opcional. Contiene un conjunto de elementos Item definidos por el usuario. Puede haber cero o más elementos ItemGroup en un elemento Otherwise . |
PropertyGroup | Elemento opcional. Contiene un conjunto de elementos Property definidos por el usuario. Puede haber cero o más elementos PropertyGroup en un elemento Otherwise . |
Elementos primarios
Elemento | Descripción |
---|---|
Choose | Evalúa los elementos secundarios para seleccionar una sección de código y ejecutarla. |
Observaciones
Puede haber solo un elemento Otherwise
en un elemento Choose
y debe ser el último elemento.
Los elementos Choose
, When
y Otherwise
se utilizan juntos para ofrecer un modo de seleccionar una sección de código para que ejecute una serie de alternativas posibles. Para obtener más información, vea Construcciones condicionales.
Ejemplo
En el proyecto siguiente se utiliza el elemento Choose
para seleccionar el conjunto de valores de propiedad de los elementos When
que desea establecer. Si los atributos Condition
de ambos elementos When
se evalúan como false
, se establecen los valores de propiedad del elemento Otherwise
.
<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>