Compiler/exécuter un fichier C # Source dans L'invite de commande

Comment compiler et exécuter une .fichier cs à partir d'une fenêtre command-prompt?

109
demandé sur Chris 2009-02-16 15:20:36

9 réponses

CSC.exe est le compilateur CSharp inclus dans le Framework .NET et peut être utilisé pour compiler depuis l'invite de commande. La sortie peut être un fichier exécutable (.exe) si vous utilisez /visez:exe, ou une DLL si vous utilisez /visez:library. Le SCC.exe se trouve dans le répertoire .net Framework, par exemple pour .NET 3.5, c:\windows\Microsoft.NET\Framework\v3.5\ .

pour l'exécuter, ouvrez d'abord une invite de commande (cliquez sur Démarrer... puis tapez cmd.exe ). Vous pouvez alors cd dans le répertoire qui contient vos fichiers source.

exécuter le compilateur C# comme ceci:

  c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe 
            /t:exe /out:MyApplication.exe MyApplication.cs  ...

(tous sur une ligne)

si vous avez plus d'un module source à compiler, vous pouvez le mettre sur la même ligne de commande. Si vous avez d'autres ensembles de référence, utilisez /r:AssemblyName.dll .

assurez-vous d'avoir une méthode Main() statique définie dans l'une de vos classes pour servir de"point d'entrée".

pour exécuter L'EXE résultant, il suffit de taper MyApplication suivi de <ENTER> à l'invite de commande.

cet article sur MSDN va plus en détail sur les options pour le compilateur de ligne de commande. Vous pouvez intégrer des ressources, mettre des icônes, signer des assemblages - tout ce que vous pouvez faire dans Visual Studio.

si vous avez Visual Studio installé, dans le menu Démarrer (sous Visual Studio Tools) vous pouvez ouvrir une "invite de commande Visual Studio" qui va configurer tout variables d'environnement et de chemin requises pour la compilation en ligne de commande.

bien qu'il soit très pratique de le savoir, vous devriez le combiner avec la connaissance d'une sorte d'outil de construction comme NAnt , MSBuild , FinalBuilder etc. Ces outils fournissent un environnement de construction complet, pas seulement le compilateur de base.

sur un Mac

sur un Mac, la syntaxe est similaire, seul le compilateur C sharp vient d'être nommé csc :

$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...

puis l'exécuter:

$ mono MyApplication.exe
107
répondu Ash 2018-02-21 15:34:01

vous pouvez compiler un programme C#:

c: > le scc Bonjour.cs

vous pouvez exécuter le programme

c: > Bonjour

10
répondu Surendra 2015-11-25 07:00:23

une autre façon de compiler C # Programmes (sans utiliser Visual Studio ou sans l'avoir installé) est de créer une variable d'utilisateur dans les variables d'environnement, à savoir "PATH".

copier le chemin suivant dans cette variable:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319 "

ou selon .NET votre PC ont.

donc vous n'avez pas à mentionnez le chemin entier chaque fois que vous compilez un code. Il suffit d'utiliser

" C:\Users\UserName\Desktop > csc [options] nom du fichier.cs "

ou quel que soit le chemin de votre code.

Maintenant, vous pouvez y aller.

9
répondu Aditya Garg 2014-09-09 15:35:56

bien que ce soit certainement une bonne chose de savoir construire en ligne de commande, pour la plupart des travaux, il pourrait être plus facile d'utiliser un IDE. Le C# édition express est gratuit et très bon pour l'argent; - p

alternativement, des choses comme snippy peuvent être utilisées pour exécuter des fragments du code C#.

enfin-notez que la ligne de commande est spécifique à la mise en œuvre; pour MS, elle est csc ; pour mono , c'est gmcs et ses amis.... De même, pour exécuter: c'est juste "exename" pour la version MS, mais typiquement "mono exename" pour mono.

enfin, de nombreux projets sont construits avec des outils de script de construction; MSBuild , NAnt , etc.

7
répondu Marc Gravell 2009-02-16 12:42:25

vous pouvez construire vos fichiers de classe dans L'invite de commande VS (de sorte que toutes les variables d'environnement requises soient chargées), pas dans la fenêtre de commande Windows par défaut.

pour en savoir plus sur la construction d'une ligne de commandement avec le SCC.exe (le compilateur), voir cet article .

2
répondu Cerebrus 2009-02-16 12:25:57

LinqPad est un moyen rapide de tester un code C#, et son libre.

2
répondu nullsteph 2013-12-29 05:52:26

pour la dernière version, ouvrez d'abord une fenêtre Powershell, allez dans n'importe quel dossier (par exemple c:\projects\ ) et exécutez la suivante

# Get nuget.exe command line
wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe

# Download the C# Roslyn compiler (just a few megs, no need to 'install')
.\nuget.exe install Microsoft.Net.Compilers

# Compiler, meet code
.\Microsoft.Net.Compilers.1.3.2\tools\csc.exe .\HelloWorld.cs

# Run it
.\HelloWorld.exe    

un exemple HelloWorld.cs

using System;

public class HelloWorld {
    public static void Main() 
    {
        Console.WriteLine("Hello world!");
    }
}

, Vous pouvez aussi essayer le nouveau C# interprète ;)

.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!
2
répondu DeepSpace101 2016-11-28 22:04:49

une fois que vous écrivez le code c# et le Sauvegardez. Vous pouvez utiliser la commande invite pour l'exécuter comme l'autre code.

dans l'invite de commande vous entrez dans le répertoire où se trouve votre fichier et tapez

Pour Compiler:

mcs yourfilename.cs

Pour Exécuter:

mono yourfilename.exe 

si vous voulez votre .fichier exe pour être différent avec un nom différent, tapez

Pour Compiler:

mcs yourfilename.cs -out:anyname.exe 

Pour Exécuter:

mono anyname.exe 

cela devrait aider!

1
répondu Joe 2016-07-18 20:18:36

Voici comment installer MSBuild avec un compilateur autonome C# 7.0 qui n'est plus inclus dans le dernier Framework .Net 4.7:

est-il possible d'installer un compilateur C# Sans Visual Studio?

puis il suffit d'exécuter

"C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin\Roslyn\csc.exe" MyApplication.cs

pour compiler un fichier source unique vers l'exécutable.

notez aussi que .Net Core ne supporte pas compilation du fichier source unique sans projet préconfiguré.

1
répondu Vadzim 2017-12-03 23:59:39