D.6 C# Compiler (csc.exe)

Table D-6 shows some of the common uses of the C# compiler.

Table D-6. C# compiler common uses

Option

Description

/debug

With this option, the compiler will emit debugging information in the output file.

/define:symbol or /d:symbol

This option is similar to C++. Use this option to define preprocessor symbols.

/doc:docname

docname is the XML output file for the autogenerated XML comment embedded in C# code.

/help

This option shows the command-line help for the C# compiler.

/main:classname

If there is more than one Main entry in different classes, you will have to specify the Main entry in which class you want the entry point of the application.

/out:filename

This option represents the output filename.

/reference:libname or /r:libname

This option allows single or multiple libraries be included with this compilation. For multiple libraries to be included, use a semicolon as the delimiter.

/target:exe|library|winexe|module or /t:exe|library|winexe|module

This option allows you to specify the type of the output: exe for console executables, library for DLLs, and winexe for Windows Form applications. When you set the target to module, the compiler outputs binary for the module but not a .NET assembly. Modules can be added to a .NET assembly later.

/unsafe

If you use unsafe keywords in your C# code, you will have to use this option when compiling your source.