Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MSBuild stellt ein Verfahren zur entweder/oder-Verarbeitung mit den Elementen Choose, When und Otherwise bereit.
Verwenden des Choose-Elements
Das Choose-Element enthält eine Reihe von When-Elementen mit Condition-Attributen, die in einer Reihenfolge von oben nach unten überprüft werden, bis ein Element den Wert true aufweist. Wenn mehrere When-Elemente den Wert true aufweisen, wird nur das erste Element verwendet. Ein Otherwise-Element wird gegebenenfalls ausgewertet, wenn keine Bedingung für ein When-Element den Wert true ergibt.
Choose-Elemente können als untergeordnete Elemente von Project-Elementen, When-Elementen und Otherwise-Elementen verwendet werden. When-Elemente und Otherwise-Elemente können über die untergeordneten Elemente ItemGroup, PropertyGroup oder Choose verfügen.
Beispiel
Im folgenden Beispiel werden Choose-Elemente und When-Elemente zur entweder/oder-Verarbeitung verwendet. Die Eigenschaften und Elemente für das Projekt werden je nach dem Wert der Configuration-Eigenschaft festgelegt.
<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>