Advanced Build Settings dialog box (C#)

Use the Advanced Build Settings dialog box of the Project Designer to specify the project's advanced build configuration properties. This dialog box applies to C# projects only.


The following options enable you to set general advanced settings.

Language Version

Links to /langversion (C# compiler options), which provides information about how a default language version is chosen based on a project's target framework.

Specifies the version of the language to use. The feature set is different in each version, so this option can be used to force the compiler to allow only a subset of the implemented features, or to enable only those features compatible with an existing standard.

The default value is C# 7.0.

Internal Compiler Error Reporting

Specifies whether to report compiler errors to Microsoft. If set to prompt (the default), you will receive a prompt if an internal compiler error occurs, giving you the option of sending an error report electronically to Microsoft. If set to send, an error report will be sent automatically. If set to queue, error reports will be queued. If set to none, the error will be reported only in the compiler's text output. For more information, see /errorreport (C# Compiler Options).

Check for arithmetic overflow/underflow

Specifies whether an integer arithmetic statement that is not in the scope of the checked or unchecked keywords and that results in a value outside the range of the data type will cause a run-time exception. For more information, see /checked (C# Compiler Options).

Do not reference mscorlib.dll

Specifies whether mscorlib.dll will be imported into your program, defining the entire System namespace. Check this box if you want to define or create your own System namespace and objects. For more information, see /nostdlib (C# Compiler Options).


The following options enable you to specify advanced output options.

Debug Information

Specifies the type of debugging information generated by the compiler. For information on how to configure the debug performance of an application, see Making an Image Easier to Debug. This setting has the following options:

  • none

    Specifies that no debugging information will be generated.

  • full

    Enables attaching a debugger to the running program.

  • pdbonly

    Allows source code debugging when the program is started in the debugger but will only display assembler when the running program is attached to the debugger.

  • portable

    Produces a .PDB file, a non-platform-specific, portable symbol file that provides other tools, especially debuggers, information about what is in the main executable file and how it was produced. See Portable PDB for more information.

  • embedded

    Embeds portable symbol information into the assembly. No external .PDB file is produced.

For more information, see /debug (C# Compiler Options).

File Alignment

Specifies the size of sections in the output file. Valid values are 512, 1024, 2048, 4096, and 8192. These values are measured in bytes. Each section will be aligned on a boundary that is a multiple of this value, affecting the size of the output file. For more information, see /filealign (C# Compiler Options).

Library Base Address

Specifies the preferred base address at which to load a DLL. The default base address for a DLL is set by the .NET Framework common language runtime. For more information, see /baseaddress (C# Compiler Options).

See also