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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk