Condividi tramite


Compilazione dalla riga di comando con csc.exe

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

Se si utilizza la finestra Prompt dei comandi di Visual Studio, tutte le variabili di ambiente necessarie sono impostate automaticamente. In Windows 7, è possibile accedere alla finestra dal menu Start aprendo la cartella Microsoft Visual Studio Version\Visual Studio Tools. In Windows 8, il prompt dei comandi di Visual Studio viene chiamato Prompt dei comandi per gli sviluppatori per VS2012 e può essere trovato cercandolo dalla schermata Start.

Se si utilizza una finestra del Prompt dei comandi standard, è necessario modificare il proprio percorso prima di poter richiamare csc.exe da qualsiasi sottodirectory del computer. È inoltre necessario eseguire vsvars32.bat per impostare le variabili di ambiente necessarie per supportare le compilazioni da riga di comando. Per ulteriori informazioni su vsvars32.bat, incluse le istruzioni su come trovarlo ed eseguirlo, vedere Procedura: Impostare le variabili di ambiente per la riga di comando di Visual Studio.

Se nel computer in uso è disponibile solo Windows Software Development Kit (SDK), è possibile utilizzare il compilatore C# dal Prompt dei comandi di SDK che si apre dall'opzione di menu Microsoft .NET Framework SDK.

È possibile utilizzare anche MSBuild per compilare programmi C# a livello di codice. Per ulteriori informazioni, vedere MSBuild.

Il file eseguibile csc.exe si trova in genere nella cartella Microsoft.NET\Framework\Version della directory di Windows. La posizione del file può variare in base alla specifica configurazione di ogni singolo computer. Se più versioni di .NET Framework sono installate nel computer, saranno disponibili più versioni di questo file. Per ulteriori informazioni su tali installazioni, vedere Determinazione della versione di .NET Framework installata.

Suggerimento

Quando si compila un progetto utilizzando l'IDE di Visual Studio, è possibile visualizzare il comando csc e le relative opzioni del compilatore nella finestra Output.Per visualizzare queste informazioni, seguire le istruzioni in Procedura: visualizzare, salvare e configurare file di log di compilazione per modificare il livello dei dati di log a Normale o Dettagliato.Dopo che il progetto viene ricompilato, cercare csc nella finestra Output per trovare la chiamata del compilatore C#.

In questo argomento

  • Regole per la sintassi della riga di comando

  • Esempi di righe di comando

  • Differenze tra gli output del compilatore C# e del compilatore C++

Regole per la sintassi della riga di comando per il compilatore C#

Gli argomenti forniti alla riga di comando del sistema operativo vengono interpretati nel compilatore C# sulla base alle seguenti regole:

  • Gli argomenti sono delimitati da spazi vuoti, ovvero da uno spazio o da una tabulazione.

  • L'accento circonflesso (^) non viene riconosciuto come carattere di escape o delimitatore. Il carattere viene completamente gestito dal parser della riga di comando nel sistema operativo prima di essere passato alla matrice argv nel programma.

  • Una stringa racchiusa tra virgolette doppie ("stringa") viene interpretata come argomento singolo, indipendentemente dalla presenza di spazi al suo interno. Una stringa tra virgolette può essere incorporata in un argomento.

  • Le virgolette doppie precedute da una barra rovesciata (\") vengono interpretate letteralmente come il carattere (").

  • Le barre rovesciate vengono interpretate letteralmente, a meno che non precedano virgolette doppie.

  • Se le virgolette doppie seguono un numero pari di barre rovesciate, per ciascuna coppia di barre rovesciate viene inserita nella matrice argv una barra rovesciata e le virgolette doppie vengono interpretate come delimitatori di stringa.

  • Se le virgolette doppie seguono un numero dispari di barre rovesciate, per ciascuna coppia di barre rovesciate viene inserita nella matrice argv una barra rovesciata e le virgolette doppie vengono ignorate dalla barra rovesciata rimanente. Di conseguenza verranno aggiunte le virgolette doppie (") letterali alla matrice argv.

Righe di comando di esempio per il compilatore C#

  • Consente di compilare File.cs generando File.exe:

    csc File.cs 
    
  • Consente di compilare File.cs generando File.dll:

    csc /target:library File.cs
    
  • Consente di compilare File.cs e crea My.exe:

    csc /out:My.exe File.cs
    
  • Consente di compilare tutti i file C# della directory corrente con le ottimizzazioni attive e di definire il simbolo DEBUG. L'output è File2.exe:

    csc /define:DEBUG /optimize /out:File2.exe *.cs
    
  • Consente di compilare tutti i file C# della directory corrente generando una versione di debug di File2.dll. Non vengono visualizzati né logo, né avvisi.

    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    
  • Consente di compilare tutti i file C# della directory corrente in Something.xyz (una DLL):

    csc /target:library /out:Something.xyz *.cs
    

Differenze tra gli output del compilatore C# e del compilatore C++

In seguito al richiamo del compilatore C# non viene creato alcun file oggetto con estensione OBJ. I file di output vengono creati direttamente. Di conseguenza il compilatore C# non richiede alcun linker.

Vedere anche

Attività

Procedura: visualizzare gli argomenti della riga di comando (Guida per programmatori C#)

Procedura: accedere agli argomenti della riga di comando utilizzando foreach (Guida per programmatori C#)

Riferimenti

Opzioni del compilatore C# in ordine alfabetico

Opzioni del compilatore C# elencate per categoria

Argomenti della riga di comando (Guida per programmatori C#)

Valori restituiti da Main() (Guida per programmatori C#)

Concetti

Main() e argomenti della riga di comando (Guida per programmatori C#)

Altre risorse

Opzioni del compilatore C#