Bagikan melalui


Jika tidak, elemen (MSBuild)

Menentukan blok kode yang akan dijalankan jika dan hanya jika kondisi semua elemen When mengevaluasi ke false.

<Proyek><Pilih><When><Pilih> ... <Atau><Pilih> ...

Sintaks

<Otherwise>
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <Choose>... </Choose>
</Otherwise>

Atribut dan elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Tidak ada.

Elemen anak

Elemen Deskripsi
Pilih Elemen opsional.

Mengevaluasi elemen turunan untuk memilih satu bagian kode yang akan dieksekusi. Mungkin ada nol atau lebih elemen Choose dalam elemen Otherwise.
ItemGroup Elemen opsional.

Berisi serangkaian elemen Item yang ditentukan pengguna. Mungkin ada nol atau lebih elemen ItemGroup dalam elemen Otherwise.
PropertyGroup Elemen opsional.

Berisi sekumpulan elemen Properti yang ditentukan pengguna. Mungkin ada nol atau lebih elemen PropertyGroup dalam elemen Otherwise.

Elemen induk

Elemen Deskripsi
Pilih Mengevaluasi elemen turunan untuk memilih satu bagian kode yang akan dieksekusi.

Keterangan

Mungkin hanya ada satu elemen Otherwise dalam elemen Choose, dan itu harus menjadi elemen terakhir.

Elemen Choose, When, dan Otherwise digunakan bersama-sama untuk menyediakan cara untuk memilih satu bagian kode untuk dijalankan dari sejumlah alternatif yang mungkin. Untuk informasi selengkapnya, lihat Konstruksi kondisional.

Contoh

Proyek berikut menggunakan elemen Choose untuk memilih kumpulan nilai properti mana dalam elemen When yang akan ditetapkan. Jika atribut Condition dari kedua elemen When dievaluasi menjadi false, nilai properti di elemen Otherwise ditetapkan.

<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>

Baca juga