Sdílet prostřednictvím


Když Element (MSBuild)

Určuje možné blok kódu Choose vybrat element.

<When Condition="'StringA'=='StringB'">
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <Choose>... </Choose>
</When>

Atributy a elementy

Následující části popisují atributy, podřízené prvky a rodičovské prvky.

Atributy

Atribut

Description

Podmínka

Požadovaný atribut.

Podmínky pro hodnocení.Další informace naleznete v tématu Nástroj MSBuild podmínky.

Podřízené elementy

Element

Description

Zvolte

Volitelný prvek.

Podřízené prvky vyberte jednu část kódu spuštění vyhodnotí.Může být nula nebo více Choose prvky When prvku.

ItemGroup

Volitelný prvek.

Obsahuje sadu uživatelem definované zboží prvků.Může být nula nebo více ItemGroup prvky When prvku.

PropertyGroup

Volitelný prvek.

Obsahuje sadu uživatelem definované vlastnost prvků.Může být nula nebo více PropertyGroup prvky When prvku.

Nadřazené elementy

Element

Description

Zvolte prvek (MSBuild)

Podřízené prvky vyberte jednu část kódu spuštění vyhodnotí.

Poznámky

Pokud Condition atribut vyhodnocen jako true, podřízené ItemGroup a PropertyGroup prvky When element jsou spuštěné a všechny následné When prvky jsou vynechány.

Choose, When, A Otherwise prvky se používají společně umožňují vybrat jednu část kódu k provedení několika možných alternativ.Další informace naleznete v tématu Nástroj MSBuild podmíněné konstrukce.

Příklad

Používá následující projekt Choose prvek vyberte, kterou sadu hodnot vlastností v When prvky nastavení.Pokud Condition oba atributy When prvky vyhodnotit false, hodnoty vlastnosti v Otherwise element jsou nastaveny.

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

Viz také

Referenční dokumentace

Nástroj MSBuild podmíněné konstrukce

Koncepty

Odkaz na projekt MSBuild soubor schématu