Komut İsteminde C # Kaynak Dosyasını Derleme / Yürütme


Yanıtlar:


140

CSC.exe, .NET Framework'te bulunan CSharp derleyicisidir ve komut isteminden derlemek için kullanılabilir. "/ Target: exe" veya bir DLL kullanıyorsanız çıktı yürütülebilir bir ".exe" olabilir; / Target: kitaplığını kullanırsanız, CSC.exe .NET Framework dizininde bulunur,

örneğin .NET 3.5 c:\windows\Microsoft.NET\Framework\v3.5\,.

Çalıştırmak için önce bir komut istemi açın, "Başlat" a tıklayın, ardından yazın cmd.exe.
Daha sonra kaynak dosyalarınızı içeren dizine cd yapmanız gerekebilir.

C # derleyicisini şu şekilde çalıştırın:

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

(hepsi bir satırda)

Derlenecek birden fazla kaynak modülünüz varsa, bunu aynı komut satırına koyabilirsiniz. Referans verilecek başka montajlarınız varsa kullanın /r:AssemblyName.dll.

"Giriş noktası" olarak hareket etmek için sınıflarınızdan birinde tanımlanmış statik bir Main () yönteminiz olduğundan emin olun.

Çıkan EXE, türünü çalıştırmak için MyApplicationtakip <ENTER>komut istemini kullanarak.

Bu makaleMSDN'deki , komut satırı derleyicisinin seçenekleri hakkında daha ayrıntılı bilgi vermektedir. Kaynakları yerleştirebilir, simgeler ayarlayabilir, montajları imzalayabilirsiniz - Visual Studio'da yapabileceğiniz her şey.

Visual Studio yüklüyse, "Başlat menüsü" nde; Visual Studio Araçları altında, komut satırı derlemesi için gerekli tüm ortam ve yol değişkenlerini ayarlayacak bir "Visual Studio komut istemi" açabilirsiniz.

Bunu bilmek çok kullanışlı olsa da, NAnt , MSBuild , FinalBuilder gibi bir çeşit oluşturma aracı bilgisiyle birleştirmelisiniz. .

Mac bilgisayarlarda

Mac'te sözdizimi benzerdir, sadece C sharp Derleyicisi şu şekilde adlandırılır csc:

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

Sonra çalıştırmak için:

$ mono MyApplication.exe

1
doğru hatırlıyorsam, sadece bir Main yöntemi ile statik bir sınıf varsa ve exe derleyebilirsiniz.
cjk

Derleyici bu günlerde sizi uyarır, ama iyi bir nokta bunu cevaba ekleyeceğim, teşekkürler.
Ash

5
Bu harika. Küçük bir C # uygulamasını derlemek ve Visual Studio'ya dokunmakla ilgilenmemek gerekiyordu. Teşekkürler!
ColinM

1
Win10'da, benimkini orada buldum:C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe
TrakJohnson

17

C # programlarını derlemenin başka bir yolu da (Visual Studio kullanmadan veya kurmadan) ortam değişkenlerinde "PATH" gibi bir kullanıcı değişkeni yaratmaktır.

Bu değişkende aşağıdaki yolu kopyalayın:

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

veya PC'nizin sahip olduğu .NET'e bağlı olarak.

Bu nedenle, her kod derlediğinizde tüm yolu belirtmeniz gerekmez. Basitçe kullanın

"C: \ Kullanıcılar \ KullanıcıAdı \ Masaüstü> csc [seçenekler] dosyaadı.cs"

veya kodunuzun yolu nerede olursa olsun.

Şimdi gitmekte fayda var.


15

Bir C # programı derleyebilirsiniz:

c:> csc Hello.cs

Programı çalıştırabilirsiniz

c:> Merhaba


1
Ek kütüphaneler kullanırsam ne olur? Derlemeler bulunamadı hataları alıyorum ... Bu nasıl düzeltilir?
Nikas Žalias

Önce derleyicinin yolunun ortam değişkenlerinde olduğundan emin olmanız gerekir.
Dame Lyngdoh

@ NikasŽalias. Örneğin, csc Hello.cs -langversion: en son başvuru: System.Net.Http.dll
Alex Nolasco

8

En son sürüm için önce bir Powershell penceresi açın, herhangi bir klasöre gidin (örn. c:\projects\) Ve aşağıdakileri çalıştırın

# 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    

HelloWorld.cs örneği

using System;

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

Ayrıca yeni C # yorumlayıcısını da deneyebilirsiniz;)

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

7

Komut satırında nasıl inşa edileceğini bilmek kesinlikle iyi bir şey olsa da, çoğu iş için bir IDE kullanmak daha kolay olabilir. C # ekspres baskı ücretsiz ve para için çok iyi ;-p

Alternatif olarak, snippy gibi şeyler C # kodunun parçalarını çalıştırmak için kullanılabilir.

Son olarak - komut satırının uygulamaya özel olduğuna dikkat edin; MS için csc; için mono , öyle gmcsmono için genellikle "Mono Exename" MS versiyonu için sadece "Exename" olmakla: ve arkadaşlar .... Aynı şekilde, yürütülecek.

Son olarak, birçok proje derleme komut dosyası araçlarıyla oluşturulur; MSBuild , NAnt , vb.


3
IDE kullanıyorum. Ama bilmem gerekiyordu. Bilmemek doğru gelmiyor! Cevabınız için çok teşekkürler.
DragonBorn

1
NAnt için +1! LINQPad
TrueWill

6

MSBuild'i, en son .Net Framework 4.7'de artık paketlenmeyen bağımsız C # 7.0 derleyicisiyle nasıl yükleyeceğiniz aşağıda açıklanmıştır:

Visual Studio olmadan bir C # derleyicisi yüklemek mümkün mü?

Sonra sadece koş

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

tek bir kaynak dosyasını yürütülebilir dosyaya derlemek için.

Ayrıca .Net Core'un önceden yapılandırılmış proje olmadan tek bir kaynak dosyasının derlenmesini desteklemediğini unutmayın .


5

LinqPad, bazı C # kodlarını test etmenin hızlı bir yoludur ve ücretsizdir.


2

Sınıf dosyalarınızı varsayılan Windows komut penceresi yerine VS Command isteminde (gerekli tüm ortam değişkenlerinin yüklenebilmesi için) oluşturabilirsiniz.

Csc.exe (derleyici) ile komut satırı oluşturma hakkında daha fazla bilgi için bu makaleye bakın .


2

Visual Studio yüklediyseniz, VS için Geliştirici Komut İstemi'ne sahipsiniz. cscKomut kullanarak programınızı kolayca oluşturabilir ve uygulamanızı geliştirici komut isteminde uygulamanın adıyla çalıştırabilirsiniz.

Geliştirici komut istemini aşağıda belirtildiği gibi açabilirsiniz.

Başlat => VS için Geliştirici Komut İstemi

Bu yardımcı olur umarım!


2

Yola ekle

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

Derlemek için:

csc file.cs

Yürütmek için:

file

1

Bir kez c # kodunu yazıp kaydedin. Komut istemini, diğer kod gibi yürütmek için kullanabilirsiniz.

Komut isteminde dosyanızın bulunduğu dizini girin ve yazın

Derlemek için:

mcs yourfilename.cs

Yürütmek için:

mono yourfilename.exe 

.exe dosyanızın farklı bir adla farklı olmasını istiyorsanız, yazın

Derlemek için:

mcs yourfilename.cs -out:anyname.exe 

Yürütmek için:

mono anyname.exe 

Bu yardımcı olmalı!


1

Windows sistemlerinde, şu komutu kullanın: csc <filname>.cs geçerli dizin Microsoft Visual Studio \ <Year> \ <Version> dizinindeyken komut istemindeki

İki yol vardır:

Komut istemini kullanarak:

  1. Başlat -> Komut İstemi
  2. Şu komutu kullanarak dizini Visual Studio klasörüne değiştirin: cd C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ <Version>
  3. Şu komutu kullanın: csc /.cs

Geliştirici Komut İstemi'ni kullanma:

  1. Başlat -> VS 2017 için Geliştirici Komut İstemi (Burada dizin zaten Visual Studio klasörüne ayarlanmıştır)

  2. Şu komutu kullanın: csc /.cs

Umarım yardımcı olur!


0

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

c # 7'yi destekleyen c # derleyicisini burada bulabilirsiniz, aksi takdirde yalnızca c # 5'i destekleyen .net 4 derleyicilerini kullanacaktır.



0

CompileCS.cmdBir C # dosyasını derlemek (ve isteğe bağlı olarak çalıştırmak) sağlayan bir toplu iş dosyası yazdım , toplu program 'CompileCS' de dahil olmak üzere tam yanıt bulabilirsiniz .

Onun kullanımı basittir:

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

derleyip GetDotNetVersion.cs dosyasını çalıştıracaktır - sadece derlemek istiyorsanız /runparametreyi atlayın .

Konsol uygulaması bu cevaptanGetDotNetVersion.cs alınmıştır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.