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.

/addmodule

Links the specified modules into this assembly

/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.

/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

Specifies language version modes: ISO-1 or Default.

/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.

/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).

/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.

/resource

Embeds the specified resource.

/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

Tasks

How to: Set Environment Variables

Reference

C# Compiler Options Listed by Category

<compiler> Element

Other Resources

C# Compiler Options