This documentation is archived and is not being maintained.

/langversion (Conformant Syntax) (C# Compiler Options) 

Causes the compiler to only accept syntax that is included in the ISO/IEC 23270:2003 C# language specification.


/langversion:option

option

If option is ISO-1 the compiler will give an error for any syntax that is not in the ISO/IEC 23270:2003 C# language specification. If option is default the compiler will accept all valid language syntax. /langversion:default is the default.

Version 1.0 of the C# specification represents the functionality available with /langversion:ISO-1. http://msdn.microsoft.com/vcsharp/programming/language/default.aspx contains all specifications as Microsoft Word files.

Metadata referenced by your C# application is not subject to /langversion compiler option.

Each version of the C# compiler contains extensions to the language specification, so /langversion does not give you the equivalent functionality of a previous version of the compiler.

Regardless of which /langversion setting you use, you will use the current version of the common language runtime to create your .exe or .dll.

One exception is friend assemblies and /moduleassemblyname (Specify Friend Assembly for Module) (C# Compiler Option), which work under /langversion:ISO-1.

To set this compiler option in the Visual Studio development environment

  1. Open the project's Properties page. For details, see How to: Set Project Properties (C#, J#).

  2. Click the Build property page.

  3. Click the Advanced button.

  4. Modify the Language Version property.

For information on how to set this compiler option programmatically, see LanguageVersion.

Show: