-langversion (C#-Compileroptionen)-langversion (C# Compiler Options)

Führt dazu, dass der Compiler nur Syntax akzeptiert, die in der ausgewählten C#-Sprachspezifikation enthalten ist.Causes the compiler to accept only syntax that is included in the chosen C# language specification.

SyntaxSyntax

-langversion:option  

ArgumenteArguments

option
Folgende Werte sind gültig:The following values are valid:

OptionOption BedeutungMeaning
defaultdefault Der Compiler akzeptiert jede gültige Sprachsyntax der letzten Hauptversion, die unterstützen werden kann.The compiler accepts all valid language syntax from the latest major version that it can support.
ISO-1ISO-1 Der Compiler akzeptiert nur Syntax, die in ISO/IEC 23270:2003-C# (1.0/1.2) enthalten ist ISO1The compiler accepts only syntax that is included in ISO/IEC 23270:2003 C# (1.0/1.2) ISO1
ISO-2ISO-2 Der Compiler akzeptiert nur Syntax, die in ISO/IEC 23270:2006 C# (2.0) enthalten ist ISO2The compiler accepts only syntax that is included in ISO/IEC 23270:2006 C# (2.0) ISO2
33 Der Compiler akzeptiert nur Syntax, die in C# 3.0 oder früher enthalten ist CS3The compiler accepts only syntax that is included in C# 3.0 or lower CS3
44 Der Compiler akzeptiert nur Syntax, die in C# 4.0 oder früher enthalten ist CS4The compiler accepts only syntax that is included in C# 4.0 or lower CS4
55 Der Compiler akzeptiert nur Syntax, die in C# 5.0 oder früher enthalten ist CS5The compiler accepts only syntax that is included in C# 5.0 or lower CS5
66 Der Compiler akzeptiert nur Syntax, die in C# 6.0 oder früher enthalten ist CS6The compiler accepts only syntax that is included in C# 6.0 or lower CS6
77 Der Compiler akzeptiert nur Syntax, die in C# 7.0 oder früher enthalten ist CS7The compiler accepts only syntax that is included in C# 7.0 or lower CS7
7.17.1 Der Compiler akzeptiert nur Syntax, die in C# 7.1 oder früher enthalten ist CS71The compiler accepts only syntax that is included in C# 7.1 or lower CS71
7.27.2 Der Compiler akzeptiert nur Syntax, die in C# 7.2 oder früher enthalten ist CS72The compiler accepts only syntax that is included in C# 7.2 or lower CS72
7.37.3 Der Compiler akzeptiert nur Syntax, die in C# 7.3 oder früher enthalten ist CS73The compiler accepts only syntax that is included in C# 7.3 or lower CS73
latestlatest Der Compiler akzeptiert alle gültige Sprachsyntax, die es unterstützen kann.The compiler accepts all valid language syntax that it can support.

HinweiseRemarks

Metadaten, auf die von Ihrer C#-Anwendung verwiesen wird, unterliegen nicht der Compileroption -langversion.Metadata referenced by your C# application is not subject to -langversion compiler option.

Da jede Version des C#-Compilers Erweiterungen der Sprachspezifikation enthält, bietet -langversion Ihnen nicht die gleiche Funktionalität wie die einer früheren Compilerversion.Because each version of the C# compiler contains extensions to the language specification, -langversion does not give you the equivalent functionality of an earlier version of the compiler.

Darüber hinaus sind die neue Syntax und die neuen Features nicht unbedingt an die spezifische Version des Frameworks gebunden, während C#-Versionsupdates für gewöhnlich mit den Releases von .NET Framework einhergehen.Additionally, while C# version updates generally coincide with major .NET Framework releases, the new syntax and features are not necessarily tied to that specific framework version. Während die neuen Features ein Compilerupdate erfordern, das mit der C#-Revision veröffentlicht wird, hat jedes Feature seine eigene mindestens erforderliche .NET-API- oder CLR-Anforderungen, durch die es auf abwärtskompatiblen Frameworks ausgeführt werden kann, indem NuGet-Pakete oder andere Bibliotheken einbezogen werden.While the new features definitely require a new compiler update that is also released alongside the C# revision, each specific feature has its own minimum .NET API or common language runtime requirements that may allow it to run on downlevel frameworks by including NuGet packages or other libraries.

Unabhängig von der verwendeten -langversion-Einstellung verwenden Sie die aktuelle Version der CLR, um Ihre EXE- oder DLL-Dateien zu erstellen.Regardless of which -langversion setting you use, you will use the current version of the common language runtime to create your .exe or .dll. Davon ausgenommen sind Friend-Assemblys und -moduleassemblyname (C#-Compileroption), die unter -langversion:ISO-1 laufen.One exception is friend assemblies and -moduleassemblyname (C# Compiler Option), which work under -langversion:ISO-1.

Weitere Möglichkeiten zum Angeben der C#-Sprachversion finden Sie unter Select the C# language version (Auswählen der C#-Sprachversion).For other ways to specify the C# language version, see the Select the C# language version topic.

Informationen zum programmgesteuerten Festlegen dieser Compileroption finden Sie unter LanguageVersion.For information about how to set this compiler option programmatically, see LanguageVersion.

Siehe auchSee Also

C#-CompileroptionenC# Compiler Options
Verwalten von Projekt- und ProjektmappeneigenschaftenManaging Project and Solution Properties

C#-ProgrammiersprachenspezifikationC# Language Specification

VersionVersion LinkLink descriptionDescription
C# 1.0C# 1.0 DOC herunterladenDownload DOC C#-Spezifikation Version 1.0: Microsoft CorporationC# Language Specification Version 1.0: Microsoft Corporation
C# 1.2C# 1.2 DOC herunterladenDownload DOC C#-Spezifikation Version 1.2: Microsoft CorporationC# Language Specification Version 1.2: Microsoft Corporation
C# 2.0C# 2.0 PDF herunterladenDownload PDF Standard ECMA-334, 4. EditionStandard ECMA-334 4th Edition
C# 3.0C# 3.0 DOC herunterladenDownload DOC C#-Spezifikation Version 3.0: Microsoft CorporationC# Language Specification Version 3.0: Microsoft Corporation
C# 5.0C# 5.0 PDF herunterladenDownload PDF Standard ECMA-334, 5. EditionStandard ECMA-334 5th Edition
C# 6.0C# 6.0 LinkLink C#-Spezifikation Version 6, inoffizieller Entwurf: .NET FoundationC# Language Specification Version 6 - Unofficial Draft: .NET Foundation
C# 7.0 und höherC# 7.0 and later aktuell nicht verfügbarnot currently available

Mindestens erforderliche Compilerversion, die Sie benötigen, um alle Sprachfeatures zu unterstützenMinimum compiler version needed to support all language features

, ISO1: Microsoft Visual Studio/Build Tools .NET 2002 oder gebündelter .NET Framework 1.0-CompilerISO1: Microsoft Visual Studio/Build Tools .Net 2002 or bundled .Net Framework 1.0 compiler
ISO2: Microsoft Visual Studio/Build Tools 2005 oder gebündelter .NET Framework 2.0-CompilerISO2: Microsoft Visual Studio/Build Tools 2005 or bundled .Net Framework 2.0 compiler
CS3: Microsoft Visual Studio/Build Tools 2008 oder gebündelter .NET Framework 3.5-CompilerCS3: Microsoft Visual Studio/Build Tools 2008 or bundled .Net Framework 3.5 compiler
CS4: Microsoft Visual Studio/Build Tools 2010 oder gebündelter .NET Framework 4.0-CompilerCS4: Microsoft Visual Studio/Build Tools 2010 or bundled .Net Framework 4.0 compiler
CS5: Microsoft Visual Studio/Build Tools 2012 oder gebündelter .NET Framework 4.5-CompilerCS5: Microsoft Visual Studio/Build Tools 2012 or bundled .Net Framework 4.5 compiler
CS6: Microsoft Visual Studio Build Tools 2015CS6: Microsoft Visual Studio/Build Tools 2015
CS7: Microsoft Visual Studio Build Tools 2017CS7: Microsoft Visual Studio/Build Tools 2017
CS71: Microsoft Visual Studio Build Tools 2017, Version 15.3CS71: Microsoft Visual Studio/Build Tools 2017, version 15.3
CS72: Microsoft Visual Studio Build Tools 2017, Version 15.5CS72: Microsoft Visual Studio/Build Tools 2017, version 15.5
CS73: Microsoft Visual Studio Build Tools 2017, Version 15.7CS73: Microsoft Visual Studio/Build Tools 2017, version 15.7