Sestavování pomocí csc.exe v příkazovém řádku
Kompilátor jazyka C# můžete vyvolat zadáním názvu jeho spustitelného souboru (csc.exe) do příkazového řádku. Pokud používáte příkazový řádek aplikace Visual Studio (k dispozici jako zástupce v nabídce Start pod položkou Visual Studio Tools), všechny nezbytné proměnné prostředí jsou už nastaveny. V opačném případě musíte nastavit proměnnou path pro csc.exe, aby bylo možné spustitelný soubor vyvolat z libovolného adresáře v počítači. Pokud nepoužíváte příkazový řádek aplikace Visual Studio, musíte spustit vsvars32.bat pro nastavení odpovídajících proměnných prostředí, které zajišťují podporu sestavování v příkazovém řádku. Další informace o vsvars32.bat naleznete v tématu Postupy: Nastavit proměnné prostředí.
Pokud pracujete na počítači, který má pouze Windows Software Development Kit (SDK), můžete použít kompilátor jazyka C# v příkazovém řádku, pokud použijete příkazový řádek SDK, který je k dispozici v položce nabídky Microsoft .NET framework SDK.
Chcete-li sestavovat z vývojového prostředí, shlédněte How to: Prepare and Manage Builds.
Také můžete použít nástroj MSBuild pro programové vytváření C# programů. Další informace naleznete v tématu MSBuild.
Spustitelný soubor csc.exe je obvykle umístěn ve složce Microsoft.NET\Framework\<verze> systémového adresáře. Jeho umístění se může lišit podle konkrétní konfigurace jednotlivého počítače. Pokud je v počítači nainstalováno více než jedna verze rozhraní .NET Framework, bude v počítači i více verzí tohoto spustitelného souboru. Další informace o těchto instalacích naleznete v tématu Určení verze rozhraní .NET Framework je instalován..
Toto téma zahrnují následující:
Pravidla syntaxe příkazového řádku
Ukázka příkazových řádků
Rozdíly mezi výstupem kompilátoru jazyka C# a kompilátoru jazyka C++
Pravidla syntaxe příkazového řádku kompilátoru jazyka C#
Kompilátor jazyka C# při interpretaci argumentů, které jsou předány pomocí příkazového řádku operačního systému, použije následující pravidla:
Argumenty jsou odděleny prázdným znakem, což je mezera nebo tabulátor.
Znak stříšky (^) není uznáván jako řídicí znak nebo oddělovač. Znak je zpracován analyzátorem příkazového řádku v operačním systém dříve, než je předán poli argv v programu.
Řetězec uzavřený v uvozovkách ("řetězec") je interpretován jako jediný argument bez ohledu na obsažené prázdné znaky. Do argumentu může být vložen řetězec v uvozovkách.
Znak dvojitých uvozovek předcházený zpětným lomítkem (\") je interpretován doslovně jako znak dvojitých uvozovek (").
Zpětná lomítka jsou interpretovány doslovně, pokud jsou bezprostředně předcházeny znakem dvojitých uvozovek.
Je-li sudý počet zpětných lomítek následován znakem dvojitých uvozovek, z každého páru zpětných lomítek je jedno zpětné lomítko vloženo do pole argv a dvojité uvozovky jsou interpretovány jako oddělovač řetězců.
Je-li lichý počet zpětných lomítek následován znakem dvojitých uvozovek, z každého páru zpětných lomítek je jedno zpětné lomítko vloženo do pole argv a dvojité uvozovky jsou, díky zbývajícímu zpětnému lomítku, interpretovány jako "escape" sekvence. To způsobí, že je literál dvojitých uvozovek (") přidán do argv.
Ukázka příkazových řádků kompilátoru jazyka C#
Kompiluje File.cs a vytváří File.exe:
csc File.cs
Kompiluje File.cs a vytváří File.dll:
csc /target:library File.cs
Kompiluje File.cs a vytváří My.exe:
csc /out:My.exe File.cs
Kompiluje všechny C# soubory v aktuálním adresáři se zapnutými optimalizacemi a definuje DEBUG symbol. Výstup je File2.exe:
csc /define:DEBUG /optimize /out:File2.exe *.cs
Kompiluje všechny C# soubory v aktuálním adresáři a vytváří verzi File2.dll pro ladění. Nezobrazují se žádná upozornění ani logo:
csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
Kompiluje všechny C# soubory v aktuálním adresáři do Something.xyz (knihovny DLL):
csc /target:library /out:Something.xyz *.cs
Rozdíly mezi výstupem kompilátoru jazyka C# a kompilátoru jazyka C++
Při vyvolání kompilátoru jazyka C# nejsou vytvářeny žádné objektové (.obj) soubory; výstupní soubory jsou vytvářeny přímo. V důsledku toho kompilátor jazyka C# nepotřebuje propojovací program.
Viz také
Odkaz
Možnosti C# kompilátoru abecedně seřazeny
Možnosti C# kompilátoru uvedené podle kategorie