<?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="Specifica le impostazioni e le proprietà dell'applicazione del progetto." DisplayName="Applicazione" PageTemplate="generic" Order="100" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="Generale" Description="Impostazioni generali per l'applicazione." />
    <Category Name="Resources" DisplayName="Risorse" Description="Impostazioni delle risorse per l'applicazione." />
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" SourceOfDefaultValue="AfterContext" HasConfigurationCondition="False" />
  </Rule.DataSource>
  <StringProperty Name="AssemblyName" DisplayName="Nome dell'assembly" Description="Specifica il nome del file di output che conterrà il manifesto dell'assembly." Category="General" />
  <StringProperty Name="RootNamespace" DisplayName="Spazio dei nomi predefinito" Description="Specifica lo spazio dei nomi di base per i file aggiunti al progetto." Category="General" />
  <BoolProperty Name="TargetMultipleFrameworks" DisplayName="Più framework di destinazione" Description="Compila questo progetto per più framework di destinazione." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147236" Category="General">
    <BoolProperty.DataSource>
      <DataSource Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </BoolProperty.DataSource>
  </BoolProperty>
  <DynamicEnumProperty Name="TargetFramework" DisplayName="Framework di destinazione" Description="Specifica la versione di .NET di destinazione dell'applicazione. Questa opzione può avere valori diversi a seconda delle versioni di .NET installate nel computer." 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="Framework di destinazione" Description="Consente di specificare l'elenco di framework delimitati da punto e virgola a cui verrà destinato il progetto." 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="Installa altri framework">
    <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="Tipo di output" Description="Specifica il tipo di applicazione da compilare." Category="General">
    <EnumValue Name="Library" DisplayName="Libreria di classi" />
    <EnumValue Name="Exe" DisplayName="Applicazione console" />
    <EnumValue Name="WinExe" DisplayName="Applicazione Windows" />
  </EnumProperty>
  <DynamicEnumProperty Name="StartupObject" DisplayName="Oggetto di avvio" Description="Definisce il punto di ingresso da chiamare quando l'applicazione viene caricata. In genere viene impostato sul modulo principale dell'applicazione o sulla routine 'Main' che deve essere eseguita all'avvio dell'applicazione. Le librerie di classi non definiscono un punto di ingresso." 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="Risorse" Description="Consente di specificare in che modo verranno gestite le risorse dell'applicazione." Category="Resources">
    <EnumProperty.DataSource>
      <DataSource PersistedName="ResourceSpecificationKind" Persistence="ProjectFileWithInterception" HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="IconAndManifest" DisplayName="Icona e manifesto" />
    <EnumValue Name="ResourceFile" DisplayName="File di risorse" />
  </EnumProperty>
  <StringProperty Name="ApplicationIcon" DisplayName="Icona" Category="Resources" Description="Imposta il file ICO da usare come icona del programma." 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="Manifesto" Description="Consente di selezionare un'opzione di generazione del manifesto quando l'applicazione viene eseguita in Windows Vista o versioni successive in Controllo dell'account utente. Le opzioni includono un manifesto predefinito, nessun manifesto o un manifesto personalizzato fornito dal progetto." 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="Incorpora manifesto con impostazioni predefinite" />
    <EnumValue Name="NoManifest" DisplayName="Crea applicazione senza manifesto" />
    <EnumValue Name="CustomManifest" DisplayName="Usa un manifesto personalizzato" />
  </EnumProperty>
  <StringProperty Name="ApplicationManifestPath" DisplayName="Percorso del manifesto" Description="Percorso del file manifesto personalizzato." 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="File di risorse" Description="Consente di specificare un file di risorse per il progetto." 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>