Sdílet prostřednictvím


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

Další zdroje

Možnosti C# kompilátoru