<?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="Specifica le proprietà che controllano la modalità di compilazione del progetto." DisplayName="Compilazione" PageTemplate="generic" Order="200" xmlns="http://schemas.microsoft.com/build/2009/properties">
  <Rule.Categories>
    <Category Name="General" DisplayName="Generale" />
    <Category Name="ErrorsAndWarnings" Description="Consente di configurare le opzioni di errore e avviso per il processo di compilazione." DisplayName="Errori e avvisi" />
    <Category Name="Output" Description="Consente di configurare le opzioni di output per il processo di compilazione." DisplayName="Output" />
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" SourceOfDefaultValue="AfterContext" HasConfigurationCondition="True" />
  </Rule.DataSource>
  <StringProperty Name="DefineConstants" DisplayName="Simboli di compilazione condizionale" Description="Specifica i simboli su cui eseguire la compilazione condizionale. Separare i simboli con un punto e virgola (';')." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147079" Category="General" />
  <EnumProperty Name="PlatformTarget" DisplayName="Destinazione piattaforma" Description="Specifica il processore impostato come destinazione per il file di output. Scegliere 'x86' per qualsiasi processore compatibile con Intel a 32 bit, 'x64' per qualsiasi processore compatibile con Intel a 64 bit o 'Any CPU' per specificare che qualsiasi processore è accettabile. 'Any CPU' è il valore predefinito per i progetti, perché consente di eseguire l'applicazione in una vasta gamma di dispositivi hardware." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147129" Category="General">
    <EnumValue Name="AnyCPU" DisplayName="Qualsiasi CPU" />
    <EnumValue Name="x64" DisplayName="x64" />
    <EnumValue Name="x86" DisplayName="x86" />
  </EnumProperty>
  <EnumProperty Name="Nullable" DisplayName="Nullable" Description="Specifica il contesto che ammette i valori Null C# a livello di progetto. Disponibile solo per i progetti che usano C# 8.0 o versioni successive." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146796" Category="General">
    <EnumProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </EnumProperty.DataSource>
    <EnumValue Name="disable" DisplayName="Disabilita" />
    <EnumValue Name="enable" DisplayName="Abilita" />
    <EnumValue Name="warnings" DisplayName="Avvisi" />
    <EnumValue Name="annotations" DisplayName="Annotazioni" />
  </EnumProperty>
  <BoolProperty Name="AllowUnsafeBlocks" DisplayName="Consenti codice unsafe" Description="Consente la compilazione di codice che usa la parola chiave 'unsafe'." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2146797" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="puntatori" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <BoolProperty Name="Optimize" DisplayName="Ottimizza codice" Description="Consente di abilitare o disabilitare le ottimizzazioni eseguite dal compilatore per ridurre le dimensioni del file di output e rendere l'esecuzione del file più rapida ed efficiente." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147080" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="ottimizzare;ottimizzazione" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <StringProperty Name="LangVersion" DisplayName="Versione del linguaggio" Description="Perché non è possibile selezionare la versione del linguaggio 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="Controlla overflow aritmetico" Description="Consente di specificare se l'aritmetica degli interi, che restituisce un valore non compreso nell'intervallo del tipo di dati e che non è rientra nell'ambito di una parola chiave selezionata o non selezionata, causa un'eccezione in fase di esecuzione." HelpUrl="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/checked-compiler-option" Category="General">
    <BoolProperty.Metadata>
      <NameValuePair Name="SearchTerms" Value="selezionato;non selezionato" />
    </BoolProperty.Metadata>
  </BoolProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="Deterministic" DisplayName="Deterministico" Description="Indica se il compilatore deve produrre assembly identici per input identici." 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="Segnalazione errori interni del compilatore" Description="Consente di controllare l'invio a Microsoft delle segnalazioni di errori interni del compilatore." 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="Non inviare mai" />
    <EnumValue Name="prompt" DisplayName="Richiedi prima di inviare" />
    <EnumValue Name="queue" DisplayName="Accoda" />
    <EnumValue Name="send" DisplayName="Invia" />
  </EnumProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <EnumProperty Name="FileAlignment" DisplayName="Allineamento file" Description="Consente di specificare, in byte, dove allineare le sezioni del file di output." 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="Livello di avviso" Description="Specifica il livello da visualizzare per gli avvisi del compilatore." 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="Non visualizzare avvisi" Description="Impedisce al compilatore di generare uno o più avvisi. Separare più numeri di avviso con una virgola (',') o un punto e virgola (';')." HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147300" Category="ErrorsAndWarnings" />
  <EnumProperty Name="TreatWarningsAsErrors" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301" DisplayName="Considera gli avvisi come errori" Description="Viene usato per specificare quali avvertenze vengono considerate come errori." Category="ErrorsAndWarnings">
    <EnumValue Name="false" DisplayName="Nessuno" />
    <EnumValue Name="true" DisplayName="Tutti" />
  </EnumProperty>
  <StringProperty Name="WarningsAsErrors" DisplayName="Considera avvisi specifici come errori" HelpUrl="https://go.microsoft.com/fwlink/?linkid=2147301" Description="Considera gli avvisi specificati come errori. Separare più numeri di avviso con una virgola (',') o un punto e virgola (';')." Category="ErrorsAndWarnings" />
  <StringProperty Name="BaseOutputPath" DisplayName="Percorso base dell'output" Description="Consente di specificare il percorso base per l'output del progetto durante la compilazione. Le sottocartelle verranno aggiunte a questo percorso per differenziare la configurazione del progetto." Category="Output" Subtype="directory">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
  </StringProperty>
  <StringProperty Name="BaseIntermediateOutputPath" DisplayName="Percorso base dell'output intermedio" Description="Consente di specificare il percorso base per l'output intermedio del progetto durante la compilazione. Le sottocartelle verranno aggiunte a questo percorso per differenziare la configurazione del progetto." Category="Output" Subtype="directory">
    <StringProperty.DataSource>
      <DataSource HasConfigurationCondition="False" />
    </StringProperty.DataSource>
  </StringProperty>
  <!-- TODO create fwlink for this HelpUrl -->
  <BoolProperty Name="GenerateDocumentationFile" DisplayName="File di documentazione" Description="Genera un file contenente la documentazione dell'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="Percorso file di documentazione XML" Description="Percorso facoltativo per il file di documentazione dell'API. Lasciare vuoto per usare il percorso predefinito." 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>