<?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="Application" Description="Задает параметры и свойства приложения проекта." DisplayName="Приложение" PageTemplate="generic" Order="100" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="Общие" Description="Общие параметры приложения." />
    <Category Name="Resources" DisplayName="Ресурсы" Description="Параметры ресурсов для приложения." />
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" SourceOfDefaultValue="AfterContext" HasConfigurationCondition="False" />
  </Rule.DataSource>
  <StringProperty Name="AssemblyName" DisplayName="Имя сборки" Description="Задает имя выходного файла, в котором будет храниться манифест сборки." Category="General" />
  <StringProperty Name="RootNamespace" DisplayName="Пространство имен по умолчанию" Description="Задает базовое пространство имен для файлов, добавляемых в проект." Category="General" />
  <BoolProperty Name="TargetMultipleFrameworks" DisplayName="Нацеливание на несколько платформ" Description="Сборка этого проекта для нескольких целевых платформ." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147236" Category="General">
    <BoolProperty.DataSource>
      <DataSource Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </BoolProperty.DataSource>
  </BoolProperty>
  <DynamicEnumProperty Name="TargetFramework" DisplayName="Целевая платформа" Description="Указывает версию .NET, для которой предназначено приложение. Этот параметр может иметь различные значения в зависимости от того, какие версии .NET установлены на вашем компьютере." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147236" Category="General" EnumProvider="SupportedTargetFrameworksEnumProvider" MultipleValuesAllowed="False">
    <DynamicEnumProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(not (evaluated "Application" "TargetMultipleFrameworks"))</NameValuePair.Value>
      </NameValuePair>
      <NameValuePair Name="DependsOn" Value="Application::TargetMultipleFrameworks" />
    </DynamicEnumProperty.Metadata>
  </DynamicEnumProperty>
  <StringProperty Name="TargetFrameworks" DisplayName="Целевые платформы" Description="Указывает список целевых платформ для этого проекта, разделенный точками с запятой." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147236" Category="General">
    <StringProperty.DataSource>
      <DataSource Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(evaluated "Application" "TargetMultipleFrameworks")</NameValuePair.Value>
      </NameValuePair>
      <NameValuePair Name="DependsOn" Value="Application::TargetMultipleFrameworks" />
    </StringProperty.Metadata>
  </StringProperty>
  <StringProperty Name="InstallOtherFrameworks" DisplayName="Установить другие платформы">
    <StringProperty.DataSource>
      <DataSource PersistedName="InstallOtherFrameworks" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.ValueEditors>
      <ValueEditor EditorType="LinkAction">
        <ValueEditor.Metadata>
          <NameValuePair Name="Action" Value="URL" />
          <NameValuePair Name="URL" Value="http://go.microsoft.com/fwlink/?LinkID=287120" />
        </ValueEditor.Metadata>
      </ValueEditor>
    </StringProperty.ValueEditors>
  </StringProperty>
  <EnumProperty Name="OutputType" DisplayName="Тип вывода" Description="Указывает тип собираемого приложения." Category="General">
    <EnumValue Name="Library" DisplayName="Библиотека классов" />
    <EnumValue Name="Exe" DisplayName="Консольное приложение" />
    <EnumValue Name="WinExe" DisplayName="Приложение Windows" />
  </EnumProperty>
  <DynamicEnumProperty Name="StartupObject" DisplayName="Автоматически запускаемый объект" Description="Определяет точку входа, вызываемую при загрузке приложения. Обычно в качестве этой точки входа задается главная форма приложения или процедура &quot;Main&quot;, которая должна выполняться при запуске приложения. В библиотеках классов точка входа не определяется." Category="General" EnumProvider="StartupObjectsEnumProvider">
    <DynamicEnumProperty.Metadata>
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(ne (evaluated "Application" "OutputType") "Library")</NameValuePair.Value>
      </NameValuePair>
    </DynamicEnumProperty.Metadata>
  </DynamicEnumProperty>
  <EnumProperty Name="ResourceSpecificationKind" DisplayName="Ресурсы" Description="Указывает, как будет осуществляться управление ресурсами приложения." Category="Resources">
    <EnumProperty.DataSource>
      <DataSource PersistedName="ResourceSpecificationKind" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="IconAndManifest" DisplayName="Значок и манифест" />
    <EnumValue Name="ResourceFile" DisplayName="Файл ресурсов" />
  </EnumProperty>
  <StringProperty Name="ApplicationIcon" DisplayName="Значок" Category="Resources" Description="Задает файл ICO, который будет использоваться в качестве значка программы." Subtype="file">
    <StringProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(eq (evaluated "Application" "ResourceSpecificationKind") "IconAndManifest")</NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
  <EnumProperty Name="ApplicationManifestKind" DisplayName="Манифест" Description="Выбирает параметр создания манифеста при запуске приложения в Windows Vista или в более поздних версиях ОС Windows в разделе &quot;Управление учетными записями пользователей&quot; (UAC). Возможные значения параметра: манифест по умолчанию, без манифеста или пользовательский манифест, предоставленный вашим проектом." Category="Resources">
    <EnumProperty.DataSource>
      <DataSource PersistedName="ApplicationManifestKind" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(eq (evaluated "Application" "ResourceSpecificationKind") "IconAndManifest")</NameValuePair.Value>
      </NameValuePair>
    </EnumProperty.Metadata>
    <EnumValue Name="DefaultManifest" DisplayName="Внедрить манифест с настройками по умолчанию" />
    <EnumValue Name="NoManifest" DisplayName="Создать приложение без манифеста" />
    <EnumValue Name="CustomManifest" DisplayName="Использовать пользовательский манифест" />
  </EnumProperty>
  <StringProperty Name="ApplicationManifestPath" DisplayName="Путь к манифесту" Description="Путь к пользовательскому файлу манифеста." Category="Resources" Subtype="file">
    <StringProperty.DataSource>
      <DataSource PersistedName="ApplicationManifestPath" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </StringProperty.DataSource>
    <StringProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind;Application::ApplicationManifestKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>
          (and 
            (eq (evaluated "Application" "ApplicationManifestKind") "CustomManifest")
            (eq (evaluated "Application" "ResourceSpecificationKind") "IconAndManifest"))
        </NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
  <StringProperty Name="Win32Resource" DisplayName="Файл ресурсов" Description="Указывает файл ресурсов для проекта." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147078" Category="Resources" Subtype="file">
    <StringProperty.Metadata>
      <NameValuePair Name="DependsOn" Value="Application::ResourceSpecificationKind" />
      <NameValuePair Name="VisibilityCondition">
        <NameValuePair.Value>(eq (evaluated "Application" "ResourceSpecificationKind") "ResourceFile")</NameValuePair.Value>
      </NameValuePair>
    </StringProperty.Metadata>
  </StringProperty>
</Rule>