Programowanie w języku C#

Csc

Spis treści

          1 Wstęp
          2 Najprostszy sposób użycia
          3 Plik Reakcji
          4 Dołączanie komponentów
          5 Opcje kompilatora
               5.1 Opcje wyjścia
               5.2 Opcje wejścia
               5.3 Zasoby
               5.4 Generowanie kodu
               5.5 Błędy i ostrzeżenia
               5.6 Język
               5.7 Różne
               5.8 Zaawansowane


Wstęp


CSC to darmowy kompilator C# dostępny wraz ze środowiskiem Microsoft .NET Framework.

W systemach Windows znajduje się on w katalogu windows/Microsoft.NET/Framework/v.numerwersji/. Używa się go za pomocą wiersza poleceń.

Najprostszy sposób użycia


csc nazwapliku.cs


Plik Reakcji


Do kompilatora można przekazać plik zawierający ciąg komend, które ma on wykonać. Plik taki nazywa się plikiem reakcji, a dołącza się go przy pomocy składni:

csc @<plik_reakcji>


Kompilator csc szuka pliku csc.rsp, jeżeli go znajdzie wykorzystuje go tak jakby został podany z użyciem powyższej składni.

Dołączanie komponentów


Kompilator używa domyślnie komponentu mscorelib.dll w którym zawarte są podstawowe elementy platformy .NET.

Jeżeli chcemy dołączyć inne komponenty należy użyć składni:

csc /r:nazwabiblioteki.dll nazwapliku.cs


na przykład gdy chcemy uruchomić programy wykorzystujące komponent WinForms należy wskazać go w ten sposób:

csc /r:system.winforms.dll nazwapliku.css


Należy zauważyć ze nazwy plików dll platformy .NET przypominają przestrzenie nazw które reprezentują w C#.


Opcje kompilatora


Opcje wyjścia


/out:<plik>Ustala nazwę pliku wyjściowego (domyślnie: nazwa pliku z klasą main lub pierwszy plik)
/target:exeTworzenie aplikacji konsolowej (domyślnie) 1
/target:winexeTworzenie aplikacji windows
/target:libraryTworzenie biblioteki
/target:moduleTworzenie modułu mogącego być dodanym do innego pakietu
/doc:<file>Plik XML do wygenerowania
/platform:<string> Określa na jakich platformach może być uruchomiony plik: x86, Itanium, x64, lub anycpu. Domyślnie: anycpu.

[1] Forma skrócona od /target to /t (np. /t:exe)

Opcje wejścia


/recurse:<wildcard>Dołącza wszystkie pliki w danym katalogu o nazwach pasujących do podanego wzorca.
/reference:<alias>=<file>Dołącz metadane z określonego pakietu dając im przezwisko. (Forma skrócona: /r)
/reference:<file list>Dołącz metadane z określonego pakietu. (Forma skrócona: /r)
/addmodule:<file list>Określenie modułów które stanowią część tego pakietu


Zasoby


/win32res:<file>Określa plik zasobów Win32 (.res)
/win32icon:<file>Użycie podanej ikony
/resource:<resinfo>Osadzenie podanych zasobów (Forma skrócona: /res)
/linkresource<file>[,(string name)[,public|private]]Dowiązanie zasobu do tego pakietu bez osadzania (Forma skrócona: /linkres)


Generowanie kodu


/debug[+|-]Wyświetlanie informacji związanych z wykrywaniem błędów
/debug:{full|pdbonly}Określa sposób wyświetlania informacji o błędach
/optimize[+|-]Włącza optymalizacje (Forma skrócona: /o)


Błędy i ostrzeżenia


/warnaserror[+|-]Wyświetlaj wszystkie błędy i ostrzeżenia
/warnaserror[+|-]:<warn list>Wyświetlaj określone ostrzeżenia jako błędy
/warn:<n>Ustaw poziom ostrzeżeń (0-4) (Forma skrócona: /w)
/nowarn:<warn list>Wyłącz określone ostrzeżenia


Język


/checked[+|-]Sprawdzanie nadmiaru i niedomiaru
/unsafe[+|-]Zezwalaj na kod ?potencjalnie niebezpieczny?
/define:<symbol list>Definicja symboli kompilacji warunkowej (Forma skrócona: /d)
/langversion:<string>Ustal wersję języka: ISO-1 lub Default


Różne


@<file>Odczytaj plik reakcji
/helpWyświetl parametry kompilatora (Forma skrócona: /?)
/nologoUkryj komunikat o prawach autorskich kompilatora
/noconfigNie dołączaj automatycznie pliku CSC.RSP


Zaawansowane


/baseaddress:<address>Określenie podstawowego adresu biblioteki
/bugreport:<file>Utwórz plik z raportem o błędach
/codepage:<n>Ustaw kodowanie znaków dla plików z kodem źródłowym
/utf8outputUstaw kodowanie UTF-8 dla wyjściowych komunikatów kompilatora
/main:<type>Ustawienie głównej klasy programu (Forma skrócona: /m)
/fullpathsKompilator generuje pełne ścieżki dostępu
/filealign:<n>Ustawienie wyrównania używanego w pliku wyjściowym
/pdb:<file>Ustala nazwę pliku z informacjami o wykrywanych błędach (Domyślnie: plik wyjściowy z rozszerzeniem .pdb)
/nostdlib[+|-]Nie dołączaj biblioteki standardowej (mscorlib.dll)
/lib:<file list>Ustala dodatkowy katalog w którym kompilator będzie szukał odwołań
/errorreport:<string>Ustala jak kompilator ma obsługiwać swoje wewnętrzne błędy: prompt, send, queue, lub none. Domyślnie: queue.
/moduleassemblyname:<string>Nazwa pakietu którego częścią będzie ten moduł.

3 komentarze

Marooned 2006-02-14 18:45

Przydatny podręczny opisik ;)

Kooba 2006-02-15 16:02

praktycznie przetłumaczyłem

csc /help

ale to chyba nic złego ;)

maxyan 2008-04-11 18:20

Może się komuś przyda. Ja i tak wolę korzystać z IDE.