Udostępnij za pośrednictwem


Konstrukcje warunkowe MSBuild

MSBuildprzewiduje mechanizm albo / lub przetwarzanie z Wybierz, po, i przeciwnym elementy.

Za pomocą wybierz Element

Choose Element zawiera szereg When elementy z Condition atrybuty, które są badane w kolejności od góry do dołu, aż wynikiem jednego true.Jeśli jest więcej niż jeden When ma wartość elementu true, jest używany tylko pierwszy z nich.Otherwise Element, jeśli jest obecny, będą oceniane, jeśli żaden warunek, na When ma wartość elementu true.

Chooseelementy mogą być używane jako elementy podrzędne Project, When i Otherwise elementy.Wheni Otherwise może mieć elementów ItemGroup, PropertyGroup, lub Choose elementów podrzędnych.

Przykład

W poniższym przykładzie użyto Choose i When elementów albo / lub przetwarzania.Elementy projektu i właściwości są ustawiane w zależności od wartości Configuration właściwości.

<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>
    </Choose>
    <!-- Rest of Project -->
</Project>

Zobacz też

Informacje

Choose — Element (MSBuild)

When — Element (MSBuild)

Otherwise — Element (MSBuild)

Inne zasoby

Odwołanie do narzędzia MSBuild