Comment compiler et exécuter un fichier .cs à partir d'une fenêtre d'invite de commandes?
Comment compiler et exécuter un fichier .cs à partir d'une fenêtre d'invite de commandes?
Réponses:
CSC.exe est le compilateur CSharp inclus dans le .NET Framework et peut être utilisé pour compiler à partir de l'invite de commandes. La sortie peut être un exécutable ".exe", si vous utilisez "/ target: exe", ou une DLL; Si vous utilisez / target: library, CSC.exe se trouve dans le répertoire .NET Framework,
par exemple pour .NET 3.5, c:\windows\Microsoft.NET\Framework\v3.5\
.
Pour exécuter, tout d'abord, ouvrez une invite de commande, cliquez sur "Démarrer", puis tapez cmd.exe
.
Vous devrez peut-être alors CD dans le répertoire qui contient vos fichiers source.
Exécutez le compilateur C # comme ceci:
c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe
/t:exe /out:MyApplication.exe MyApplication.cs ...
(tout sur une seule ligne)
Si vous avez plus d'un module source à compiler, vous pouvez le placer sur la même ligne de commande. Si vous avez d'autres assemblys à référencer, utilisez /r:AssemblyName.dll
.
Assurez-vous d'avoir une méthode statique Main () définie dans l'une de vos classes, qui servira de "point d'entrée".
Pour exécuter le fichier EXE résultant, tapez MyApplication
, puis <ENTER>
utilisez l'invite de commande.
Cet article sur MSDN donne plus de détails sur les options du compilateur de ligne de commande. Vous pouvez incorporer des ressources, définir des icônes, signer des assemblys - tout ce que vous pouvez faire dans Visual Studio.
Si vous avez installé Visual Studio, dans le "menu Démarrer"; sous Visual Studio Tools, vous pouvez ouvrir une «invite de commandes Visual Studio», qui configurera toutes les variables d'environnement et de chemin requises pour la compilation de la ligne de commande.
Bien qu'il soit très pratique de le savoir, vous devez le combiner avec la connaissance d'une sorte d'outil de construction tel que NAnt , MSBuild , FinalBuilder, etc. Ces outils fournissent un environnement de construction complet, pas seulement le compilateur de base.
Sur un Mac, la syntaxe est similaire, seul le compilateur C sharp est juste nommé csc
:
$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...
Ensuite, pour l'exécuter:
$ mono MyApplication.exe
C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
Une autre façon de compiler des programmes C # (sans utiliser Visual Studio ou sans l'avoir installé) consiste à créer une variable utilisateur dans les variables d'environnement, à savoir "PATH".
Copiez le chemin suivant dans cette variable:
"C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319"
ou selon le .NET de votre PC.
Vous n'avez donc pas à mentionner le chemin complet à chaque fois que vous compilez un code. Utilisez simplement
"C: \ Users \ UserName \ Desktop> csc [options] filename.cs"
ou quel que soit le chemin de votre code.
Maintenant, vous êtes prêt à partir.
Vous pouvez compiler un programme C #:
c:> csc Hello.cs
Vous pouvez exécuter le programme
c:> Bonjour
Pour la dernière version, ouvrez d'abord une fenêtre Powershell, accédez à n'importe quel dossier (par exemple c:\projects\
) et exécutez ce qui suit
# 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 également essayer le nouvel interpréteur C #;)
.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!
Bien que ce soit certainement une bonne chose de savoir comment construire en ligne de commande, pour la plupart des travaux, il peut être plus facile d'utiliser un IDE. L' édition C # express est gratuite et très bonne pour l'argent ;-p
Sinon, des éléments tels que snippy peuvent être utilisés pour exécuter des fragments de code C #.
Enfin, notez que la ligne de commande est spécifique à l'implémentation; pour MS, c'est csc
; pour mono , c'est gmcs
et 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.
Voici comment installer MSBuild avec un compilateur C # 7.0 autonome qui n'est plus intégré dans le dernier .Net Framework 4.7:
Est-il possible d'installer un compilateur C # sans Visual Studio?
Alors viens de courir
"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\csc.exe" MyApplication.cs
pour compiler un fichier source unique en exécutable.
Notez également que .Net Core ne prend pas en charge la compilation de fichier source unique sans projet préconfiguré.
Vous pouvez créer vos fichiers de classe dans l'invite de commande VS (afin que toutes les variables d'environnement requises soient chargées), et non dans la fenêtre de commande Windows par défaut.
Pour en savoir plus sur la création de ligne de commande avec csc.exe (le compilateur), consultez cet article .
Si vous avez installé Visual Studio, vous disposez d'une invite de commande développeur pour VS. Vous pouvez facilement créer votre programme à l'aide de la csc
commande et exécuter votre application avec le nom de l'application dans l'invite de commande du développeur.
Vous pouvez ouvrir l'invite de commande Developer comme indiqué ci-dessous.
Démarrer => Invite de commandes du développeur pour VS
J'espère que cela t'aides!
Ajouter au chemin
C:\Windows\Microsoft.NET\Framework\v3.5
Compiler:
csc file.cs
Éxécuter:
file
Une fois que vous écrivez le code c # et enregistrez-le. Vous pouvez utiliser l'invite de commande pour l'exécuter comme l'autre code.
Dans l'invite de commande, vous entrez le répertoire dans lequel se trouve votre fichier et tapez
Compiler:
mcs yourfilename.cs
Éxécuter:
mono yourfilename.exe
si vous voulez que votre fichier .exe soit différent avec un nom différent, tapez
Compiler:
mcs yourfilename.cs -out:anyname.exe
Éxécuter:
mono anyname.exe
Cela devrait aider!
Dans les systèmes Windows, utilisez la commande csc <filname>.cs
dans l'invite de commande lorsque le répertoire actuel est dans Microsoft Visual Studio \ <Year> \ <Version>
Il y a deux manières:
À l'aide de l'invite de commande:
Utilisation de l'invite de commande du développeur:
Démarrer -> Invite de commandes du développeur pour VS 2017 (ici, le répertoire est déjà défini sur le dossier Visual Studio)
Utilisez la commande: csc /.cs
J'espère que ça aide!
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn
c'est ici que vous pouvez trouver le compilateur c # qui prend en charge c # 7 sinon il utilisera les compilateurs .net 4 qui ne prend en charge que c # 5
Microsoft a déplacé son compilateur vers Github (bien sûr):
J'ai écrit un fichier batch CompileCS.cmd
qui permet de compiler (et éventuellement d'exécuter) un fichier C #, vous pouvez trouver la réponse complète y compris le programme batch 'CompileCS' ici .
Son utilisation est simple:
CompileCS /run GetDotNetVersion.cs
[arg1] ... [arg9]
compilera et exécutera GetDotNetVersion.cs - si vous voulez simplement le compiler, omettez le /run
paramètre.
L'application console GetDotNetVersion.cs
est tirée de cette réponse .