C# Compiler Options Listed Alphabetically

The following compiler options are sorted alphabetically. For a categorical list, see C# Compiler Options Listed by Category.

Option Purpose
@ Reads a response file for more options.
/? Displays a usage message to stdout.
/additionalfile Names additional files that don't directly affect code generation but may be used by analyzers for producing errors or warnings.
/addmodule Links the specified modules into this assembly
/analyzer Run the analyzers from this assembly (Short form: /a)
/appconfig Specifies the location of app.config at assembly binding time.
/baseaddress Specifies the base address for the library to be built.
/bugreport Creates a 'Bug Report' file. This file will be sent together with any crash information if it is used with /errorreport:prompt or /errorreport:send.
/checked Causes the compiler to generate overflow checks.
/checksumalgorithm:<alg> Specify the algorithm for calculating the source file checksum stored in PDB. Supported values are: SHA1 (default) or SHA256.
/codepage Specifies the codepage to use when opening source files.
/debug Emits debugging information.
/define Defines conditional compilation symbols.
/delaysign Delay-signs the assembly by using only the public part of the strong name key.
/doc Specifies an XML Documentation file to generate.
/errorreport Specifies how to handle internal compiler errors: prompt, send, or none. The default is none.
/filealign Specifies the alignment used for output file sections.
/fullpaths Causes the compiler to generate fully qualified paths.
/help Displays a usage message to stdout.
/highentropyva Specifies that high entropy ASLR is supported.
/incremental Enables incremental compilation [obsolete].
/keycontainer Specifies a strong name key container.
/keyfile Specifies a strong name key file.
/langversion:<string> Specify language version mode: Default, ISO-1, ISO-2, 3, 4, 5, 6, 7, 7.1, or Latest
/lib Specifies additional directories in which to search for references.
/link Makes COM type information in specified assemblies available to the project.
/linkresource Links the specified resource to this assembly.
/main Specifies the type that contains the entry point (ignore all other possible entry points).
/moduleassemblyname Specifies an assembly whose non-public types a .netmodule can access.
/modulename:<string> Specify the name of the source module
/noconfig Instructs the compiler not to auto include CSC.RSP file.
/nologo Suppresses compiler copyright message.
/nostdlib Instructs the compiler not to reference standard library (mscorlib.dll).
/nowarn Disables specific warning messages
/nowin32manifest Instructs the compiler not to embed an application manifest in the executable file.
/optimize Enables/disables optimizations.
/out Specifies the output file name (default: base name of file with main class or first file).
/parallel[+|-] Specifies whether to use concurrent build (+).
/pdb Specifies the file name and location of the .pdb file.
/platform Limits which platforms this code can run on: x86, Itanium, x64, anycpu, or anycpu32bitpreferred. The default is anycpu.
/preferreduilang Specifies the language to be used for compiler output.
/recurse Includes all files in the current directory and subdirectories according to the wildcard specifications.
/reference References metadata from the specified assembly files.
/refout Generate a reference assembly in addition to the primary assembly.
/refonly Generate a reference assembly instead of a primary assembly.
/resource Embeds the specified resource.
/ruleset:<file> Specify a ruleset file that disables specific diagnostics.
/subsystemversion Specifies the minimum version of the subsystem that the executable file can use.
/target Specifies the format of the output file by using one of four options: /target:appcontainerexe, /target:exe, /target:library, /target:module, /target:winexe, /target:winmdobj.
/unsafe Allows unsafe code.
/utf8output Outputs compiler messages in UTF-8 encoding.
/warn Sets the warning level (0-4).
/warnaserror Reports specific warnings as errors.
/win32icon Uses this icon for the output.
/win32manifest Specifies a custom win32 manifest file.
/win32res Specifies the win32 resource file (.res).

See Also

C# Compiler Options
C# Compiler Options Listed by Category
How to: Set Environment Variables for the Visual Studio Command Line
<compiler> Element