<?xml version="1.0" encoding="utf-8"?>
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information. -->
<Rule Name="Build" Description="Задает свойства, управляющие сборкой проекта." DisplayName="Сборка" PageTemplate="generic" Order="200" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="Общие" />
    <Category Name="ErrorsAndWarnings" Description="Настраивает параметры ошибок и предупреждений для процесса сборки." DisplayName="Ошибки и предупреждения" />
    <Category Name="Output" Description="Настраивает параметры вывода для процесса сборки." DisplayName="Выходные данные" />
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" SourceOfDefaultValue="AfterContext" HasConfigurationCondition="True" />
  </Rule.DataSource>
  <StringProperty Name="DefineConstants" DisplayName="Символы условной компиляции" Description="Задает символы, для которых должна выполняться условная компиляция. Разделяйте символы точками с запятой (&quot;;&quot;)." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147079" Category="General" />
  <EnumProperty Name="PlatformTarget" DisplayName="Целевая платформа" Description="Задает целевой процессор для выходного файла. Выберите &quot;x86&quot; для любого 32-разрядного процессора, совместимого с Intel; &quot;x64&quot; для любого 64-разрядного процессора, совместимого с Intel; или &quot;Любой ЦП&quot;, чтобы указать, что подойдет любой процессор. Значение &quot;Любой ЦП&quot; используется по умолчанию для проектов, так как это позволяет запускать приложение на самом широком диапазоне оборудования." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147129" Category="General">
    <EnumValue Name="AnyCPU" DisplayName="Любой ЦП" />
    <EnumValue Name="x64" DisplayName="x64" />
    <EnumValue Name="x86" DisplayName="x86" />
  </EnumProperty>
  <EnumProperty Name="Nullable" DisplayName="Допускающий значение NULL" Description="Задает контекст C#, допускающий значения NULL, в масштабе всего проекта. Доступно только для проектов, использующих C# 8.0 или более поздних версий." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146796" Category="General">
    <EnumProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="disable" DisplayName="Отключить" />
    <EnumValue Name="enable" DisplayName="Включить" />
    <EnumValue Name="warnings" DisplayName="Предупреждения" />
    <EnumValue Name="annotations" DisplayName="Заметки" />
  </EnumProperty>
  <BoolProperty Name="AllowUnsafeBlocks" DisplayName="Разрешить небезопасный код" Description="Разрешает компиляцию кода, в котором используется ключевое слово &quot;unsafe&quot;." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146797" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="указатели" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <BoolProperty Name="Optimize" DisplayName="Оптимизировать код" Description="Включает или отключает оптимизацию, выполняемую компилятором, для получения более компактного выходного файла и более эффективного и быстрого кода." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147080" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="оптимизировать;оптимизация" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <StringProperty Name="LangVersion" DisplayName="Версия языка" Description="Почему не удается выбрать версию языка C#?">
    <StringProperty.DataSource>
      <DataSource PersistedName="LangVersion" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.ValueEditors>
      <ValueEditor EditorType="LinkAction">
        <ValueEditor.Metadata>
          <NameValuePair Name="Action" Value="URL" />
          <NameValuePair Name="URL" Value="https://aka.ms/csharp-versions" />
        </ValueEditor.Metadata>
      </ValueEditor>
    </StringProperty.ValueEditors>
  </StringProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="CheckForOverflowUnderflow" DisplayName="Проверять арифметическое переполнение" Description="Указывает, вызывает ли исключение времени выполнения арифметическая операция над целыми числами, результатом которой является значение, выходящее за пределы диапазона типа данных и не входящее в область ключевого слова checked или unchecked." HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/checked-compiler-option" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="флажок установлен;флажок снят" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="Deterministic" DisplayName="Детерминированный" Description="Указывает, должен ли компилятор создавать идентичные сборки для идентичных входных данных." HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/deterministic-compiler-option" Category="General" />
  <!-- TODO create fwlink for this HelpUrl -->
  <EnumProperty Name="ErrorReport" DisplayName="Отчеты о внутренних ошибках компилятора" Description="Определяет, когда отчеты о внутренних ошибках компилятора (ICE) отправляются в Майкрософт." HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/errorreport-compiler-option" Category="General">
    <EnumProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="none" DisplayName="Никогда не отправлять" />
    <EnumValue Name="prompt" DisplayName="Предупреждать перед отправкой" />
    <EnumValue Name="queue" DisplayName="Очередь" />
    <EnumValue Name="send" DisplayName="Отправка" />
  </EnumProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <EnumProperty Name="FileAlignment" DisplayName="Выравнивание файла" Description="Указывает место выравнивания разделов выходного файла в байтах." HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/filealign-compiler-option" Category="General">
    <EnumValue Name="512" DisplayName="512" />
    <EnumValue Name="1024" DisplayName="1024" />
    <EnumValue Name="2048" DisplayName="2048" />
    <EnumValue Name="4096" DisplayName="4096" />
    <EnumValue Name="8192" DisplayName="8192" />
  </EnumProperty>
  <EnumProperty Name="WarningLevel" DisplayName="Уровень предупреждения" Description="Задает уровень предупреждений, выводимых компилятором." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146798" Category="ErrorsAndWarnings">
    <EnumValue Name="0" DisplayName="0" />
    <EnumValue Name="1" DisplayName="1" />
    <EnumValue Name="2" DisplayName="2" />
    <EnumValue Name="3" DisplayName="3" />
    <EnumValue Name="4" DisplayName="4" />
    <EnumValue Name="5" DisplayName="5" />
  </EnumProperty>
  <StringProperty Name="NoWarn" DisplayName="Отключить предупреждения" Description="Запрещает компилятору создавать одно или несколько предупреждений. При указании нескольких номеров предупреждений их следует разделить запятыми (&quot;,&quot;) или точками с запятой (&quot;;&quot;)." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147300" Category="ErrorsAndWarnings" />
  <EnumProperty Name="TreatWarningsAsErrors" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301" DisplayName="Обрабатывать предупреждения как ошибки" Description="Используется для указания предупреждений, которые считаются ошибками." Category="ErrorsAndWarnings">
    <EnumValue Name="false" DisplayName="Нет" />
    <EnumValue Name="true" DisplayName="Все" />
  </EnumProperty>
  <StringProperty Name="WarningsAsErrors" DisplayName="Интерпретировать указанные предупреждения как ошибки" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301" Description="Обрабатывает указанные предупреждения как ошибки. При указании нескольких номеров предупреждений их следует разделить запятыми (&quot;,&quot;) или точками с запятой (&quot;;&quot;)." Category="ErrorsAndWarnings" />
  <StringProperty Name="BaseOutputPath" DisplayName="Базовый путь для выходных данных" Description="Задает базовое расположение выходных данных проекта во время сборки. К этому пути будут добавлены вложенные папки для конфигурации проекта." Category="Output" Subtype="directory">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
  </StringProperty>
  <StringProperty Name="BaseIntermediateOutputPath" DisplayName="Базовый путь для промежуточных выходных данных" Description="Задает базовое расположение промежуточных выходных данных проекта во время сборки. К этому пути будут добавлены вложенные папки для конфигурации проекта." Category="Output" Subtype="directory">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
  </StringProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="GenerateDocumentationFile" DisplayName="Файл документации" Description="Создание файла, содержащего документацию по API." HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/codedoc" Category="Output">
    <BoolProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </BoolProperty.DataSource>
  </BoolProperty>
  <!-- TODO consider removing this property from the UI altogether -->
  <StringProperty Name="DocumentationFile" DisplayName="Путь к файлу XML-документации" Description="Необязательный путь к файлу документации по API. Оставьте поле пустым, чтобы использовать расположение по умолчанию." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147081" Category="Output" Subtype="file">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(evaluated "Build" "GenerateDocumentationFile")</NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
</Rule>