Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Указывает блок кода, который должен быть выполнен, только если условия всех элементов When оценены как false.
<Project><Choose><When><Choose> ... <Otherwise><Choose> ...
Синтаксис
<Otherwise>
<PropertyGroup>... </PropertyGroup>
<ItemGroup>... </ItemGroup>
<Choose>... </Choose>
</Otherwise>
Элементы и атрибуты
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Нет.
Дочерние элементы
| Элемент | Description |
|---|---|
| Выберите | Необязательный элемент. Вычисляет дочерние элементы, чтобы выбрать один раздел кода для выполнения. Элемент Otherwise может содержать любое число элементов Choose, включая ноль. |
| ItemGroup | Необязательный элемент. Содержит набор определенных пользователем элементов Item. Элемент Otherwise может содержать любое число элементов ItemGroup, включая ноль. |
| PropertyGroup | Необязательный элемент. Содержит набор определенных пользователем элементов Property. Элемент Otherwise может содержать любое число элементов PropertyGroup, включая ноль. |
Родительские элементы
| Элемент | Description |
|---|---|
| Выберите | Вычисляет дочерние элементы, чтобы выбрать один раздел кода для выполнения. |
Замечания
Элемент Choose может содержать только один элемент Otherwise, который должен быть последним.
Элементы Choose, When и Otherwise используются совместно, чтобы обеспечить выбор одного блока кода для выполнения из множества доступных вариантов. См. дополнительные сведения об условных конструкциях.
Пример
Следующий проект использует элемент Choose, чтобы выбрать набор значений свойств, который будет задан в элементах When. Если атрибуты Condition обоих элементов When оцениваются как false, в элементе Otherwise задаются значения свойств.
<Project>
<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>