Csc

     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) [#]_
/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.

.. [#] 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="list">`Dołącz metadane z określonego pakietu. (Forma skrócona: /r)
/addmodule:`<file list="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="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="list">`Wyłącz określone ostrzeżenia

Język

/checked[+|-]Sprawdzanie nadmiaru i niedomiaru
/unsafe[+|-]Zezwalaj na kod ?potencjalnie niebezpieczny?
/define:`<symbol list="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="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 komentarzy

Przydatny podręczny opisik ;)

praktycznie przetłumaczyłem

csc /help

ale to chyba nic złego ;)

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