Sestavení z příkazového řádku s csc.exeCommand-line build with csc.exe

Kompilátor jazyka C# můžete vyvolat zadáním názvu její spustitelný soubor (csc.exe) z příkazového řádku.You can invoke the C# compiler by typing the name of its executable file (csc.exe) at a command prompt.

Pokud používáte Developer Command Prompt pro sadu Visual Studio okna, všechny nezbytné proměnné prostředí jsou nastaveny za vás.If you use the Developer Command Prompt for Visual Studio window, all the necessary environment variables are set for you. Informace o tom, jak tento nástroj používat, najdete v článku Developer Command Prompt pro sadu Visual Studio tématu.For information on how to access this tool, see the Developer Command Prompt for Visual Studio topic.

Pokud používáte standardního okna příkazového řádku, je nutné upravit cestu k, abyste mohli vyvolat csc.exe z libovolného adresáře v počítači.If you use a standard Command Prompt window, you must adjust your path before you can invoke csc.exe from any subdirectory on your computer. Je také nutné spustit vsvars32.bat nastavit příslušné proměnné prostředí pro podporu sestavení příkazového řádku.You also must run vsvars32.bat to set the appropriate environment variables to support command-line builds. Další informace o vsvars32.bat, včetně pokynů pro vyhledání a spusťte ho, naleznete v tématu postupy: nastavení proměnných prostředí pro Visual Studio příkazového řádku.For more information about vsvars32.bat, including instructions for how to find and run it, see How to: Set Environment Variables for the Visual Studio Command Line.

Pokud pracujete na počítači, který má pouze Windows Software Development Kit (SDK)Windows Software Development Kit (SDK), můžete použít kompilátor jazyka C# na příkazový řádek sady SDK, které můžete otevřít z Microsoft .NET Framework SDK nabídky.If you're working on a computer that has only the Windows Software Development Kit (SDK)Windows Software Development Kit (SDK), you can use the C# compiler at the SDK Command Prompt, which you open from the Microsoft .NET Framework SDK menu option.

Pomocí nástroje MSBuild můžete také programově vytvářet programy jazyka C#.You can also use MSBuild to build C# programs programmatically. Další informace najdete v tématu MSBuild.For more information, see MSBuild.

Csc.exe spustitelný soubor je obvykle umístěn ve Microsoft.NET\Framework\<verze > ve složce Windows adresář.The csc.exe executable file usually is located in the Microsoft.NET\Framework\<Version> folder under the Windows directory. Umístění, kde se může lišit v závislosti na přesnou konfiguraci určitého počítače.Its location might vary depending on the exact configuration of a particular computer. Pokud více než jednu verzi rozhraní .NET Framework je nainstalována v počítači, zjistíte více verzí tohoto souboru.If more than one version of the .NET Framework is installed on your computer, you'll find multiple versions of this file. Další informace o těchto zařízení najdete v tématu postupy: zjištění nainstalovaných verzí rozhraní .NET Framework.For more information about such installations, see How to: determine which versions of the .NET Framework are installed.

Tip

Při vytváření projektu pomocí rozhraní IDE sady Visual Studio můžete zobrazit csc příkazu a jeho kompilátoru přidružené možností v výstup okna.When you build a project by using the Visual Studio IDE, you can display the csc command and its associated compiler options in the Output window. Chcete-li zobrazit tyto informace, postupujte podle pokynů v postupy: zobrazení, ukládání a konfigurace souborů protokolu sestavení změnit úroveň podrobností dat protokolu do normální nebo podrobné.To display this information, follow the instructions in How to: View, Save, and Configure Build Log Files to change the verbosity level of the log data to Normal or Detailed. Po opětovném sestavení projektu, hledání výstup okně csc najít vyvolání kompilátor jazyka C#.After you rebuild your project, search the Output window for csc to find the invocation of the C# compiler.

V tomto tématuIn this topic

Pravidla pro syntaxi příkazového řádku pro kompilátor jazyka C#Rules for command-line syntax for the C# compiler

Kompilátor jazyka C# používá při interpretaci argumentů příkazového řádku operačního systému následující pravidla:The C# compiler uses the following rules when it interprets arguments given on the operating system command line:

  • Argumenty jsou odděleny prázdným znakem, který je mezera nebo tabulátor.Arguments are delimited by white space, which is either a space or a tab.

  • Znak stříšky (^) nebyl rozpoznán jako řídicí znak ani oddělovač.The caret character (^) is not recognized as an escape character or delimiter. Znak, který zařizuje služba analyzátor příkazového řádku v operačním systému předtím, než je předána argv pole v programu.The character is handled by the command-line parser in the operating system before it's passed to the argv array in the program.

  • Řetězec uzavřen do dvojitých uvozovek ("string") je interpretován jako jeden argument, bez ohledu na prázdný znak, který je součástí.A string enclosed in double quotation marks ("string") is interpreted as a single argument, regardless of white space that is contained within. Řetězec v uvozovkách, může být vložen do argumentu.A quoted string can be embedded in an argument.

  • Znak dvojitých uvozovek předcházený zpětným lomítkem (\") je interpretován jako znak dvojitých uvozovek (").A double quotation mark preceded by a backslash (\") is interpreted as a literal double quotation mark character (").

  • Zpětná lomítka jsou interpretovány literálně, pokud jsou bezprostředně předcházet dvojité uvozovky.Backslashes are interpreted literally, unless they immediately precede a double quotation mark.

  • Pokud sudý počet zpětných lomítek následován znakem dvojitých uvozovek, je jedno zpětné lomítko ukládat argv pole pro každý pár zpětných lomítek a dvojitých uvozovek, je interpretován jako oddělovač řetězců.If an even number of backslashes is followed by a double quotation mark, one backslash is put in the argv array for every pair of backslashes, and the double quotation mark is interpreted as a string delimiter.

  • Pokud lichý počet zpětných lomítek následován znakem dvojitých uvozovek, je jedno zpětné lomítko ukládat argv pole pro každý pár zpětných lomítek a dvojitá uvozovka není "uvozeno uvozovacím znakem" ve zbývajících zpětné lomítko.If an odd number of backslashes is followed by a double quotation mark, one backslash is put in the argv array for every pair of backslashes, and the double quotation mark is "escaped" by the remaining backslash. To způsobí, že literálu uvozovky (") mají být přidány v argv.This causes a literal double quotation mark (") to be added in argv.

Příkazové řádky ukázkové pro kompilátor jazyka C#Sample command lines for the C# compiler

  • Zkompiluje File.cs vytváření File.exe:Compiles File.cs producing File.exe:
csc File.cs 
  • Zkompiluje File.cs vytváření soubor.dll:Compiles File.cs producing File.dll:
csc -target:library File.cs
  • Zkompiluje File.cs a vytvoří My.exe:Compiles File.cs and creates My.exe:
csc -out:My.exe File.cs
  • Kompiluje všechny jazyka C# soubory v aktuálním adresáři s povolenou optimalizací a definuje DEBUG symbol.Compiles all the C# files in the current directory with optimizations enabled and defines the DEBUG symbol. Výstup je File2.exe:The output is File2.exe:
csc -define:DEBUG -optimize -out:File2.exe *.cs
  • Kompiluje všechny jazyka C# soubory v aktuálním adresáři ladicí verzi File2.dll pro ladění.Compiles all the C# files in the current directory producing a debug version of File2.dll. Žádná upozornění ani logo se zobrazí:No logo and no warnings are displayed:
csc -target:library -out:File2.dll -warn:0 -nologo -debug *.cs
  • Kompiluje všechny jazyka C# soubory v aktuálním adresáři Something.xyz (DLL):Compiles all the C# files in the current directory to Something.xyz (a DLL):
csc -target:library -out:Something.xyz *.cs

Rozdíly mezi kompilátor jazyka C# a výstup kompilátoru C++Differences between C# compiler and C++ compiler output

Neexistují žádné objektu (.obj) soubory vytvořené v důsledku volání kompilátor jazyka C#; výstupní soubory jsou vytvořeny přímo.There are no object (.obj) files created as a result of invoking the C# compiler; output files are created directly. V důsledku toho nemusí kompilátor jazyka C# propojovacího programu.As a result of this, the C# compiler does not need a linker.

Viz také:See also