Udostępnij za pośrednictwem


W przeciwnym razie element (MSBuild)

Określa blok kodu do wykonania, jeśli i tylko wtedy, gdy warunki wszystkich When elementów są obliczane na falsewartość .

<Projekt>wybierany><po><wybraniu>... <<W przeciwnym razie><wybierz> pozycję ...

Składnia

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

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Brak.

Elementy podrzędne

Element opis
Wybierz Element opcjonalny.

Ocenia elementy podrzędne, aby wybrać jedną sekcję kodu do wykonania. Element może zawierać zero lub więcej Choose elementów Otherwise .
Itemgroup Element opcjonalny.

Zawiera zestaw elementów elementu zdefiniowanego przez użytkownika. Element może zawierać zero lub więcej ItemGroup elementów Otherwise .
Propertygroup Element opcjonalny.

Zawiera zestaw elementów właściwości zdefiniowanych przez użytkownika. Element może zawierać zero lub więcej PropertyGroup elementów Otherwise .

Elementy nadrzędne

Element opis
Wybierz Ocenia elementy podrzędne, aby wybrać jedną sekcję kodu do wykonania.

Uwagi

Element może zawierać tylko jeden Otherwise element Choose i musi być ostatnim elementem.

ChooseElementy , Wheni Otherwise są używane razem, aby zapewnić sposób wybierania jednej sekcji kodu do wykonania z wielu możliwych alternatyw. Aby uzyskać więcej informacji, zobacz Konstrukcje warunkowe.

Przykład

Poniższy projekt używa Choose elementu , aby wybrać zestaw wartości właściwości w elementach When do ustawienia. Condition Jeśli atrybuty obu When elementów mają wartość false, zostaną ustawione wartości właściwości w elemecie 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>

Zobacz też