Come si compila ed esegue un file .cs da una finestra del prompt dei comandi?
Come si compila ed esegue un file .cs da una finestra del prompt dei comandi?
Risposte:
CSC.exe è il compilatore CSharp incluso in .NET Framework e può essere utilizzato per compilare dal prompt dei comandi. L'output può essere un ".exe" eseguibile, se si utilizza "/ target: exe" o una DLL; Se usi / target: library, CSC.exe si trova nella directory di .NET Framework,
ad esempio per .NET 3.5, c:\windows\Microsoft.NET\Framework\v3.5\
.
Per eseguire, innanzitutto, aprire un prompt dei comandi, fare clic su "Start", quindi digitare cmd.exe
.
Potrebbe quindi essere necessario eseguire il cd nella directory che contiene i file di origine.
Esegui il compilatore C # in questo modo:
c:\windows\Microsoft.NET\Framework\v3.5\bin\csc.exe
/t:exe /out:MyApplication.exe MyApplication.cs ...
(tutto su una riga)
Se hai più di un modulo sorgente da compilare, puoi metterlo sulla stessa riga di comando. Se si devono fare riferimento ad altri assiemi, utilizzare /r:AssemblyName.dll
.
Assicurati di avere un metodo Main () statico definito in una delle tue classi, che funga da "punto di ingresso".
Per eseguire il file EXE risultante, digitare MyApplication
, seguito <ENTER>
utilizzando il prompt dei comandi.
Questo articolo su MSDN approfondisce le opzioni per il compilatore della riga di comando. Puoi incorporare risorse, impostare icone, firmare assiemi, tutto ciò che potresti fare in Visual Studio.
Se hai installato Visual Studio, nel "menu Start"; in Visual Studio Tools, è possibile aprire un "prompt dei comandi di Visual Studio", che imposterà tutte le variabili di ambiente e percorso richieste per la compilazione della riga di comando.
Sebbene sia molto utile saperlo, dovresti combinarlo con la conoscenza di una sorta di strumento di costruzione come NAnt , MSBuild , FinalBuilder ecc. Questi strumenti forniscono un ambiente di compilazione completo, non solo il compilatore di base.
Su un Mac, la sintassi è simile, solo il compilatore C sharp è appena chiamato csc
:
$ csc /target:exe /out:MyApplication.exe MyApplication.cs ...
Quindi eseguirlo:
$ mono MyApplication.exe
C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
Un altro modo per compilare programmi C # (senza usare Visual Studio o senza averlo installato) è quello di creare una variabile utente nelle variabili di ambiente, vale a dire "PERCORSO".
Copia il seguente percorso in questa variabile:
"C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319"
o a seconda di quale .NET ha il tuo PC.
Quindi non devi menzionare l'intero percorso ogni volta che compili un codice. Basta usare
"C: \ Users \ Nomeutente \ Desktop> csc [opzioni] nomefile.cs"
o ovunque sia il percorso del tuo codice.
Ora sei a posto.
È possibile compilare un programma C #:
c:> csc Hello.cs
È possibile eseguire il programma
c:> Ciao
Per l'ultima versione, aprire prima una finestra Powershell, andare in qualsiasi cartella (ad es. c:\projects\
) Ed eseguire quanto segue
# 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 esempio HelloWorld.cs
using System;
public class HelloWorld {
public static void Main()
{
Console.WriteLine("Hello world!");
}
}
Puoi anche provare il nuovo interprete C #;)
.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!
Sebbene sia sicuramente una buona cosa sapere come compilare dalla riga di comando, per la maggior parte del lavoro potrebbe essere più facile usare un IDE. L' edizione express di C # è gratuita e molto buona per i soldi ;-p
In alternativa, cose come snippy possono essere usate per eseguire frammenti di codice C #.
Infine, notare che la riga di comando è specifica dell'implementazione; per la SM, lo è csc
; per mono , lo è gmcs
e gli amici .... Allo stesso modo, da eseguire: è solo "exename" per la versione MS, ma in genere "mono exename" per mono.
Infine, molti progetti vengono creati con strumenti di script di compilazione; MSBuild , NAnt , ecc.
Ecco come installare MSBuild con il compilatore C # 7.0 autonomo che non è più incluso nell'ultimo .Net Framework 4.7:
È possibile installare un compilatore C # senza Visual Studio?
Quindi corri e basta
"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\csc.exe" MyApplication.cs
per compilare un singolo file sorgente in eseguibile.
Si noti inoltre che .Net Core non supporta la compilazione di file a sorgente singolo senza progetto preconfigurato.
È possibile creare i file di classe nel prompt dei comandi VS (in modo che vengano caricate tutte le variabili di ambiente richieste), non la finestra di comando di Windows predefinita.
Per saperne di più sulla creazione della riga di comando con csc.exe (il compilatore), consulta questo articolo .
Se hai installato Visual Studio, hai il prompt dei comandi per sviluppatori per VS. Puoi facilmente creare il tuo programma usandocsc
comando ed eseguire l'applicazione con il nome dell'applicazione nel prompt dei comandi dello sviluppatore.
È possibile aprire il prompt dei comandi per gli sviluppatori come indicato di seguito.
Start => Prompt dei comandi dello sviluppatore per VS
Spero che questo ti aiuti!
Aggiungi al percorso
C:\Windows\Microsoft.NET\Framework\v3.5
Compilare:
csc file.cs
Eseguire:
file
Una volta scritto il codice c # e salvato. È possibile utilizzare il prompt dei comandi per eseguirlo proprio come l'altro codice.
Al prompt dei comandi immettere la directory in cui si trova il file e digitare
Compilare:
mcs yourfilename.cs
Eseguire:
mono yourfilename.exe
se vuoi che il tuo file .exe sia diverso con un nome diverso, digita
Compilare:
mcs yourfilename.cs -out:anyname.exe
Eseguire:
mono anyname.exe
Questo dovrebbe aiutare!
Nei sistemi Windows, utilizzare il comando csc <filname>.cs
nel prompt dei comandi mentre la directory corrente è in Microsoft Visual Studio \ <Anno> \ <Versione>
Ci sono due modi:
Utilizzando il prompt dei comandi:
Utilizzo del prompt dei comandi per sviluppatori:
Start -> Prompt dei comandi per sviluppatori per VS 2017 (qui la directory è già impostata sulla cartella di Visual Studio)
Utilizzare il comando: csc /.cs
Spero che sia d'aiuto!
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn
qui puoi trovare il compilatore c # che supporta c # 7 altrimenti userà i compilatori .net 4 che supportano solo c # 5
Microsoft ha spostato il suo compilatore su Github (ovviamente):
Ho scritto un file batch CompileCS.cmd
che consente di compilare (ed eventualmente eseguire) un file C #, puoi trovare la risposta completa incluso il programma batch 'CompileCS' qui .
Il suo utilizzo è semplice:
CompileCS /run GetDotNetVersion.cs
[arg1] ... [arg9]
compilerà ed eseguirà GetDotNetVersion.cs - se vuoi solo compilarlo, ometti il /run
parametro.
L'applicazione console GetDotNetVersion.cs
è presa da questa risposta .