Kompilasi / Eksekusi File Sumber C # di Command Prompt

Jawaban:

140

CSC.exe adalah kompiler CSharp yang termasuk dalam .NET Framework dan dapat digunakan untuk mengkompilasi dari command prompt. Outputnya dapat berupa ".exe" yang dapat dieksekusi, jika Anda menggunakan "/ target: exe", atau DLL; Jika Anda menggunakan / target: library, CSC.exe ditemukan di direktori .NET Framework,

misalnya untuk. NET 3.5 c:\windows\Microsoft.NET\Framework\v3.5\,.

Untuk menjalankan, pertama, buka prompt perintah, klik "Mulai", lalu ketik cmd.exe.
Anda mungkin harus melakukan cd ke direktori yang menyimpan file sumber Anda.

Jalankan kompiler C # seperti ini:

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

(semua dalam satu baris)

Jika Anda memiliki lebih dari satu modul sumber untuk dikompilasi, Anda dapat meletakkannya di baris perintah yang sama. Jika Anda memiliki rakitan lain untuk referensi, gunakan /r:AssemblyName.dll.

Pastikan Anda memiliki metode Main () statis yang ditentukan di salah satu kelas Anda, untuk bertindak sebagai "titik masuk".

Untuk menjalankan EXE yang dihasilkan, ketik MyApplication, diikuti dengan <ENTER>menggunakan command prompt.

Artikel tentang MSDN ini menjelaskan lebih rinci tentang opsi untuk kompiler baris perintah. Anda dapat menanamkan sumber daya, mengatur ikon, menandatangani majelis - semua yang dapat Anda lakukan dalam Visual Studio.

Jika Anda memiliki Visual Studio diinstal, di "Start menu"; di bawah Visual Studio Tools, Anda dapat membuka "Visual Studio command prompt", yang akan mengatur semua variabel path dan lingkungan yang diperlukan untuk kompilasi baris perintah.

Meskipun sangat mudah untuk mengetahui hal ini, Anda harus menggabungkannya dengan pengetahuan tentang beberapa jenis alat build seperti NAnt , MSBuild , FinalBuilder dll. Alat-alat ini menyediakan lingkungan build yang lengkap, bukan hanya kompiler dasar.

Di Mac

Pada Mac, sintaksnya mirip, hanya C sharp Compiler yang baru bernama csc:

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

Kemudian untuk menjalankannya:

$ mono MyApplication.exe
Abu
sumber
1
jika saya ingat dengan benar, Anda hanya dapat mengkompilasi ke dan exe jika Anda memiliki kelas statis dengan metode Utama.
cjk
Kompiler memperingatkan Anda hari ini jika Anda belum, tapi poin bagus saya akan menambahkannya ke jawabannya, terima kasih.
Ash
5
Ini luar biasa. Diperlukan untuk mengompilasi aplikasi C # kecil dan tidak tertarik menyentuh Visual Studio. Terima kasih!
ColinM
1
Di Win10, saya menemukan milik saya di sana:C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
TrakJohnson
17

Cara lain untuk mengkompilasi program C # (tanpa menggunakan Visual Studio atau tanpa menginstalnya) adalah dengan membuat variabel pengguna dalam variabel lingkungan, yaitu "PATH".

Salin jalur berikut dalam variabel ini:

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

atau tergantung pada .NET yang dimiliki PC Anda.

Jadi Anda tidak perlu menyebutkan seluruh jalur setiap kali Anda menyusun kode. Cukup gunakan

"C: \ Users \ UserName \ Desktop> csc [options] filename.cs"

atau di mana pun jalur kode Anda.

Sekarang kamu baik untuk pergi.

Aditya Garg
sumber
15

Anda dapat mengkompilasi program C #:

c:> csc Hello.cs

Anda dapat menjalankan program

c:> Halo

Surendra
sumber
1
Bagaimana jika saya menggunakan perpustakaan tambahan? Saya mendapatkan kesalahan yang tidak ditemukan rakitan ... Bagaimana cara memperbaikinya?
Nikas Žalias
Anda harus memastikan terlebih dahulu bahwa jalur ke kompiler ada di variabel lingkungan.
Dame Lyngdoh
@ NikasŽalias. Misalnya csc Hello.cs -langversion: latest -reference: System.Net.Http.dll
Alex Nolasco
8

Untuk versi terbaru, pertama buka jendela Powershell, buka folder apa saja (mis. c:\projects\) Dan jalankan yang berikut

# 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    

Contohnya HelloWorld.cs

using System;

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

Anda juga dapat mencoba juru bahasa C # yang baru;)

.\Microsoft.Net.Compilers.1.3.2\tools\csi.exe
> Console.WriteLine("Hello world!");
Hello world!
DeepSpace101
sumber
7

Meskipun jelas merupakan hal yang baik mengetahui cara membangun di baris perintah, untuk sebagian besar pekerjaan mungkin lebih mudah untuk menggunakan IDE. Edisi C # express gratis dan sangat baik untuk uang ;-p

Atau, hal-hal seperti congkak dapat digunakan untuk menjalankan fragmen kode C #.

Akhirnya - perhatikan bahwa baris perintah spesifik implementasi; untuk MS, itu csc; untuk mono , itu adalah gmcsdan teman-teman .... Demikian juga, untuk mengeksekusi: itu hanya "nama samaran" untuk versi MS, tetapi biasanya "nama samaran mono" untuk mono.

Akhirnya, banyak proyek dibangun dengan alat skrip build; MSBuild , TIDAK , dll.

Marc Gravell
sumber
3
Saya menggunakan IDE. Tapi saya perlu tahu. Rasanya tidak benar tidak tahu! Terima kasih banyak atas tanggapan Anda.
DragonBorn
1
+1 untuk TIDAK! LINQPad sangat baik untuk bereksperimen dengan fragmen kode: linqpad.net
TrueWill
6

Berikut ini cara menginstal MSBuild dengan kompiler mandiri C # 7.0 yang tidak lagi dibundel dalam .Net Framework 4.7 terbaru:

Apakah mungkin untuk menginstal kompiler C # tanpa Visual Studio?

Maka jalankan saja

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

untuk mengkompilasi file sumber tunggal ke executable.

Juga perhatikan bahwa .Net Core tidak mendukung kompilasi file sumber tunggal tanpa proyek yang telah dikonfigurasikan sebelumnya.

Vadzim
sumber
5

LinqPad adalah cara cepat untuk menguji beberapa kode C #, dan gratis.

nullsteph
sumber
2

Anda dapat membangun file kelas Anda di dalam command prompt VS (sehingga semua variabel lingkungan yang diperlukan dimuat), bukan jendela perintah Windows default.

Untuk mengetahui lebih lanjut tentang pembuatan baris perintah dengan csc.exe (kompiler), lihat artikel ini .

Cerebrus
sumber
2

Jika Anda telah menginstal Visual Studio maka Anda memiliki Prompt Perintah Pengembang untuk VS. Anda dapat dengan mudah membangun program menggunakancsc perintah dan menjalankan aplikasi Anda dengan nama aplikasi di dalam command prompt pengembang.

Anda dapat membuka prompt perintah Pengembang seperti yang diberikan di bawah ini.

Mulai => Konfirmasi Perintah Pengembang untuk VS

Semoga ini membantu!

hackerbuddy
sumber
2

Tambahkan ke jalur

C:\Windows\Microsoft.NET\Framework\v3.5

Untuk Mengkompilasi:

csc file.cs

Untuk Jalankan:

file
Rafiul Islam
sumber
1

Setelah Anda menulis kode c # dan menyimpannya. Anda dapat menggunakan command prompt untuk menjalankannya seperti kode lainnya.

Pada command prompt Anda memasukkan direktori file Anda dan ketik

Untuk Mengkompilasi:

mcs yourfilename.cs

Untuk Jalankan:

mono yourfilename.exe 

jika Anda ingin file .exe Anda berbeda dengan nama yang berbeda, ketikkan

Untuk Mengkompilasi:

mcs yourfilename.cs -out:anyname.exe 

Untuk Jalankan:

mono anyname.exe 

Ini seharusnya membantu!

Joe
sumber
1

Dalam sistem Windows, gunakan perintah csc <filname>.csdi prompt perintah ketika direktori saat ini di Microsoft Visual Studio \ <Tahun> \ <Versi>

Ada dua cara:

Menggunakan prompt perintah:

  1. Mulai -> Command Prompt
  2. Ubah direktori ke folder Visual Studio, menggunakan perintah: cd C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ <Version>
  3. Gunakan perintah: csc /.cs

Menggunakan Prompt Perintah Pengembang:

  1. Mulai -> Prompt Perintah Pengembang untuk VS 2017 (Di sini direktori sudah diatur ke folder Visual Studio)

  2. Gunakan perintah: csc /.cs

Semoga ini bisa membantu!

pengguna3789482
sumber
0

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn

ini adalah di mana Anda dapat menemukan c # compiler yang mendukung c # 7 jika tidak akan menggunakan kompiler .net 4 yang hanya mendukung c # 5

Mohamed Fathallah
sumber
0

Saya telah menulis file batch CompileCS.cmdyang memungkinkan untuk mengkompilasi (dan secara opsional menjalankan) file C #, Anda dapat menemukan jawaban lengkap termasuk program batch 'CompileCS' di sini .

Its penggunaan sederhana:

CompileCS /run GetDotNetVersion.cs[arg1] ... [arg9]

akan mengkompilasi dan menjalankan GetDotNetVersion.cs - jika Anda hanya ingin mengkompilasinya, abaikan /runparameternya.

Aplikasi konsol GetDotNetVersion.csdiambil dari jawaban ini .

Mat
sumber