Elemento Otherwise (MSBuild)
Specifica il blocco di codice da eseguire se e solo se le condizioni di tutti gli elementi When
restituiscono false
.
<Scegli progetto><quando><scegli> ... <><In caso contrario><, scegliere> ...
Sintassi
<Otherwise>
<PropertyGroup>... </PropertyGroup>
<ItemGroup>... </ItemGroup>
<Choose>... </Choose>
</Otherwise>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.
Attributi
Nessuno.
Elementi figlio
Elemento | Descrizione |
---|---|
Scegliere | Elemento facoltativo. Valuta gli elementi figlio per selezionare una sezione del codice da eseguire. Possono esistere zero o più elementi Choose in un elemento Otherwise . |
ItemGroup | Elemento facoltativo. Contiene un set di elementi Item definiti dall'utente. Possono esistere zero o più elementi ItemGroup in un elemento Otherwise . |
PropertyGroup | Elemento facoltativo. Contiene un set di elementi Property definiti dall'utente. Possono esistere zero o più elementi PropertyGroup in un elemento Otherwise . |
Elementi padre
Elemento | Descrizione |
---|---|
Scegliere | Valuta gli elementi figlio per selezionare una sezione del codice da eseguire. |
Osservazioni:
In un elemento Choose
può esistere un solo un elemento Otherwise
ed è necessario che sia l'ultimo.
Gli elementi Choose
, When
e Otherwise
vengono usati insieme per consentire di selezionare una sezione di codice da eseguire tra diverse alternative. Per altre informazioni, vedere Costrutti condizionali di MSBuild.
Esempio
Nel progetto riportato di seguito l'elemento Choose
viene usato per selezionare il set di valori delle proprietà da impostare negli elementi When
. Se gli attributi Condition
di entrambi gli elementi When
restituiscono false
, vengono impostati i valori delle proprietà dell'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>