Condividi tramite


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>

Vedi anche