Opzioni del compilatore C#

Questa sezione descrive le opzioni interpretate dal compilatore C#. Le opzioni sono raggruppate in articoli separati in base a ciò che controllano, ad esempio funzionalità del linguaggio, generazione di codice e output. Usare il sommario per spostarsi tra uno e l’altro.

Come impostare le opzioni

Esistono due modi diversi per impostare le opzioni del compilatore nei progetti .NET:

  • Nel file *.csproj

    È possibile aggiungere proprietà MSBuild per qualsiasi opzione del compilatore nel file *.csproj in formato XML. Il nome della proprietà corrisponde all'opzione del compilatore. Il valore della proprietà imposta il valore dell'opzione del compilatore. Ad esempio, il frammento di file di progetto seguente imposta la proprietà LangVersion.

    <PropertyGroup>
      <LangVersion>preview</LangVersion>
    </PropertyGroup>
    

    Per altre informazioni sull'impostazione delle opzioni nei file di progetto, vedere l'articolo Proprietà di MSBuild per progetti .NET SDK.

  • Utilizzo delle pagine delle proprietà di Visual Studio

    Visual Studio fornisce pagine delle proprietà per modificare le proprietà di compilazione. Per altre informazioni, vedere Gestire le proprietà del progetto e della soluzione - Windows o Gestire le proprietà del progetto e della soluzione - Mac.

Progetti .NET Framework

Importante

Questa sezione si applica solo ai progetti .NET Framework.

Oltre ai meccanismi descritti in precedenza, è possibile impostare le opzioni del compilatore usando due metodi aggiuntivi per i progetti .NET Framework:

  • Argomenti della riga di comando per i progetti .NET Framework: i progetti .NET Framework usano csc.exe anziché dotnet build per compilare progetti. È possibile specificare gli argomenti della riga di comando per csc.exe per i progetti .NET Framework.
  • Pagine ASP.NET compilate: i progetti .NET Framework usano una sezione del file web.config per la compilazione delle pagine. Per il nuovo sistema di compilazione e progetti ASP.NET Core, le opzioni vengono ricavate dal file di progetto.

La parola per alcune opzioni del compilatore è cambiata da progetti csc.exe e .NET Framework al nuovo sistema MSBuild. La nuova sintassi viene usata in questa sezione. Entrambe le versioni sono elencate nella parte superiore di ogni pagina. Per csc.exe, tutti gli argomenti sono elencati dopo l'opzione e i due punti. Ad esempio, l'opzione -doc sarà:

-doc:DocFile.xml

È possibile richiamare il compilatore C# digitando il nome del relativo file eseguibile (csc.exe) da un prompt dei comandi.

Per i progetti .NET Framework, è anche possibile eseguire csc.exe dalla riga di comando. Ogni opzione del compilatore è disponibile in due forme: -opzione e (opzione). Nei progetti Web .NET Framework è possibile specificare le opzioni per la compilazione del code-behind nel file web.config . Per altre informazioni, vedere <compilatore> Element.

Se si usa la finestra Prompt dei comandi per gli sviluppatori per Visual Studio, tutte le variabili di ambiente necessarie sono impostate automaticamente. Per informazioni su come accedere a questo strumento, vedere prompt dei comandi per gli sviluppatori per Visual Studio.

Il file eseguibile csc.exe si trova in genere nella cartella Microsoft.NET\Framework\<versione> nella directory di Windows. La posizione del file può variare in base all'esatta configurazione di un determinato computer. Se nel computer sono installate più versioni di .NET Framework, sono disponibili più versioni di questo file. Per altre informazioni su queste installazioni, vedere How to: determine which versions of the .NET Framework are installed (Procedura: Determinare le versioni di .NET Framework installate).