Elemento Otherwise (MSBuild)
Specifica il blocco di codice da eseguire soltanto se le condizioni di tutti gli elementi When restituiscono false.
<Otherwise>
<PropertyGroup>... </PropertyGroup>
<ItemGroup>... </ItemGroup>
<Choose>... </Choose>
</Otherwise>
Attributi ed elementi
Nelle sezioni seguenti vengono illustrati attributi, elementi figlio e padre.
Attributi
Nessuno.
Elementi figlio
Elemento |
Descrizione |
---|---|
Elemento facoltativo. Valuta gli elementi figlio per selezionare una sezione di codice da eseguire. In un elemento Otherwise possono essere presenti zero o più elementi Choose. |
|
Elemento facoltativo. Contiene un insieme di elementi Item definiti dall'utente. In un elemento Otherwise possono essere presenti zero o più elementi ItemGroup. |
|
Elemento facoltativo. Contiene un insieme di elementi Property definiti dall'utente. In un elemento Otherwise possono essere presenti zero o più elementi PropertyGroup. |
Elementi padre
Elemento |
Descrizione |
---|---|
Valuta gli elementi figlio per selezionare una sezione di codice da eseguire. |
Note
In un elemento Choose può essere presente un unico elemento Otherwise ed è necessario che compaia per ultimo.
Gli elementi Choose, When e Otherwise vengono utilizzati insieme per consentire di selezionare una sezione di codice da eseguire tra diverse alternative. Per ulteriori informazioni, vedere Costrutti condizionali di MSBuild.
Esempio
Nel progetto riportato di seguito l'elemento Choose viene utilizzato per selezionare l'insieme di valori delle proprietà da impostare negli elementi When. Se gli attributi Condition di entrambi gli elementi When restituiscono false, i valori delle proprietà dell'elemento Otherwise vengono impostati.
<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>
Vedere anche
Riferimenti
Costrutti condizionali di MSBuild