Génération à partir de la ligne de commande avec csc.exe

Vous pouvez appeler le compilateur C# en tapant le nom de son fichier exécutable (csc.exe) sur la ligne de commande. Si vous utilisez l'invite de commandes de Visual Studio, disponible sous la forme d'un raccourci dans le menu Démarrer, sous Visual Studio Tools, toutes les variables d'environnement nécessaires sont définies à votre place. Sinon, vous devez configurer votre chemin pour autoriser l'appel de csc.exe à partir de n'importe quel sous-répertoire de votre ordinateur. Si vous n'utilisez pas l'invite de commandes de Visual Studio, vous devez exécuter vsvars32.bat pour définir les variables d'environnement appropriées pour la prise en charge des générations à partir de la ligne de commande. Pour plus d'informations sur vsvars32.bat, consultez Comment : définir des variables d'environnement.

Si vous utilisez un ordinateur qui ne dispose que du Kit de développement logiciel (SDK) Windows, vous pouvez utiliser le compilateur C# dans la ligne de commande si vous utilisez l'invite de commandes du Kit de développement logiciel, disponible à partir de l'option de menu Kit de développement Microsoft .NET Framework SDK.

Pour procéder à des générations à partir de l'environnement de développement, consultez Comment : préparer et gérer des générations.

Vous pouvez également utiliser MSBuild pour générer des programmes C# par programme. Pour plus d'informations, consultez MSBuild.

Le fichier exécutable csc.exe se trouve généralement dans le dossier Microsoft.NET\Framework\<version>, sous le répertoire système. Son emplacement peut varier en fonction de la configuration exacte des différents ordinateurs. Plusieurs versions de ce fichier exécutable seront présentes sur l'ordinateur si plusieurs versions du .NET Framework sont installées sur celui-ci. Pour plus d'informations sur ces installations, consultez Détermination de la version installée du .NET Framework.

Cette rubrique couvre les sujets suivants :

Règles de syntaxe pour la ligne de commande

Exemples de lignes de commande

Différences entre les résultats de la compilation C# et ceux de la compilation C++

Règles de syntaxe de ligne de commande pour le compilateur C#

Le compilateur C# utilise les règles suivantes lorsqu'il interprète les arguments spécifiés dans la ligne de commande du système d'exploitation :

  • Les arguments sont délimités par un espace blanc, qui peut être un espace ou une tabulation.

  • Le signe insertion (^) n'est pas reconnu comme caractère d'échappement ni comme délimiteur. Ce caractère est traité par l'analyseur de ligne de commande du système d'exploitation avant d'être passé au tableau argv du programme.

  • Une chaîne placée entre guillemets doubles ("chaîne") est interprétée comme un argument unique, peu importe les espaces blancs inclus. Une chaîne entre guillemets peut être incorporée dans un argument.

  • Un guillemet double précédé d'une barre oblique inverse (\") est interprété comme un caractère guillemet double littéral (").

  • Les barres obliques inverses sont interprétées littéralement, sauf si elles précèdent immédiatement un guillemet double.

  • Si un nombre pair de barres obliques inverses est suivi d'un guillemet double, une barre oblique inverse est placée dans le tableau argv pour chaque paire de barres obliques inverses et le guillemet double est interprété comme un délimiteur de chaîne.

  • Si un nombre impair de barres obliques inverses est suivi d'un guillemet double, une barre oblique inverse est placée dans le tableau argv pour chaque paire de barres obliques inverses et le guillemet double est « ignoré » à cause de la barre oblique inverse restante. Cela entraîne l'ajout d'un guillemet double littéral (") dans le tableau argv.

Exemples de lignes de commande pour le compilateur C#

  • Compile File.cs pour produire File.exe :

    csc File.cs 
    
  • Compile File.cs pour produire File.dll :

    csc /target:library File.cs
    
  • Compile File.cs pour créer My.exe :

    csc /out:My.exe File.cs
    
  • Compile les fichiers C# dans le répertoire actif avec les optimisations activées et définit le symbole DEBUG. Le fichier de sortie est File2.exe :

    csc /define:DEBUG /optimize /out:File2.exe *.cs
    
  • Compile tous les fichiers C# du répertoire actif pour produire une version debug de File2.dll. Aucun logo ni aucun avertissement ne sont affichés :

    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    
  • Compile tous les fichiers C# du répertoire actif vers Something.xyz (une DLL) :

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

Différences entre les résultats de la compilation C# et ceux de la compilation C++

Aucun fichier objet (.obj) n'est créé par l'appel du compilateur C# ; les fichiers de sortie sont créés directement. Le compilateur C# n'a donc pas besoin d'un éditeur de liens.

Voir aussi

Référence

Options du compilateur C# par ordre alphabétique

Options du compilateur C# par catégorie

Autres ressources

Options du compilateur C#