Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Otherwise-Element (MSBuild)

Aktualisiert: November 2007

Gibt den Codeblock an, der nur dann ausgeführt werden soll, wenn die Bedingungen aller When-Elemente false ergeben.


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

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.

Attribute

Keine

Untergeordnete Elemente

Element

Beschreibung

Auswählen

Optionales Element.

Wertet untergeordnete Elemente aus, um einen Codeabschnitt auszuwählen, der ausgeführt werden soll. Es kann keine oder mehrere Choose-Elemente in einem Otherwise-Element geben.

ItemGroup

Optionales Element.

Enthält benutzerdefinierte Item-Elemente. Es kann keine oder mehrere ItemGroup-Elemente in einem Otherwise-Element geben.

PropertyGroup

Optionales Element.

Enthält benutzerdefinierte Property-Elemente. Es kann keine oder mehrere PropertyGroup-Elemente in einem Otherwise-Element geben.

Übergeordnete Elemente

Element

Beschreibung

Auswählen

Wertet untergeordnete Elemente aus, um einen Codeabschnitt auszuwählen, der ausgeführt werden soll.

Ein Choose-Element darf nur ein Otherwise-Element enthalten, und dieses muss das letzte Element sein.

Das Choose-Element, das When-Element und das Otherwise-Element werden zusammen verwendet, um die Auswahl eines auszuführenden Codeabschnitts aus verschiedenen Alternativen zu ermöglichen. Weitere Informationen hierzu finden Sie unter Bedingte MSBuild-Konstrukte.

Im folgenden Projekt wird das Choose-Element verwendet, um die Eigenschaftenwerte in den When-Elementen auszuwählen, die festgelegt werden sollen. Wenn die Condition-Attribute beider When-Elemente false ergeben, werden die Eigenschaftenwerte im Otherwise-Element festgelegt.

<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>
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.