Compilazione dalla riga di comando con csc.exe

È possibile richiamare il compilatore c digitando il nome del file eseguibile (csc.exe) a 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 Avvio aprendo la cartella di Microsoft Visual Studio Versione\ Visual Studio Tools.In Windows 8, il prompt dei comandi di Visual Studio viene chiamato Prompt dei comandi per gli sviluppatori per VS2012e può essere rilevate dallo schermo.

Se si utilizza una finestra del prompt dei comandi standard, è necessario modificare il percorso prima di richiamare csc.exe da qualsiasi sottodirectory del computer.È inoltre necessario eseguire vsvars32.bat per impostare le variabili di ambiente appropriate per supportare le compilazioni da riga di comando.Per ulteriori informazioni su vsvars32.bat, incluse le istruzioni su come trovare e l'esecuzione, vedere Procedura: impostare le variabili di ambiente.

Se si lavora in un computer che dispone di Windows Software Development Kit (SDK), è possibile utilizzare il compilatore c a Prompt dei comandi di SDK, aperta dall'opzione di menu Microsoft .NET Framework SDK.

È inoltre possibile utilizzare MSBuild per compilare programmi c a livello di codice.Per ulteriori informazioni, vedere MSBuild.

Il file eseguibile csc.exe si trova in genere Microsoft.NET \ Framework \ diVersione nella directory di Windows.La posizione può variare a seconda della configurazione esatta di un particolare computer.Se più versioni di .NET Framework è installata nel computer, dove le versioni del file.Per ulteriori informazioni su tali installazioni, vedere Determinazione della versione di .NET Framework installata.

SuggerimentoSuggerimento

Quando si compila un progetto utilizzando l'ide di Visual Studio, è possibile visualizzare il comando csc e le relative opzioni del compilatore collegate nella finestra Output.Per visualizzare queste informazioni, seguire le istruzioni in Procedura: visualizzare, salvare e configurare file di log di compilazione modificare il livello di dettaglio le archiviazioni dati a Normale o a Dettagliato.Dopo che il progetto viene ricompilato, individuare la finestra Outputcsc 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++

Non sono presenti file oggetto con estensione OBJ creati come conseguenza di richiamare il compilatore c; 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#