-langversion (Options du compilateur C#)-langversion (C# Compiler Options)

Force le compilateur à accepter uniquement la syntaxe incluse dans la spécification choisie du langage C#.Causes the compiler to accept only syntax that is included in the chosen C# language specification.

SyntaxeSyntax

-langversion:option

ArgumentsArguments

option
Les valeurs suivantes sont valides :The following values are valid:

OptionOption SignificationMeaning
previewpreview Le compilateur accepte toute la syntaxe de langage valide de la dernière préversion qu’il peut prendre en charge.The compiler accepts all valid language syntax from the latest preview version that it can support.
latestlatest Le compilateur accepte toute la syntaxe de langage valide de la dernière version (versions mineures incluses) qu’il peut prendre en charge.The compiler accepts all valid language syntax from the latest version (including minor releases) that it can support.
latestMajorlatestMajor Le compilateur accepte toute la syntaxe de langage valide de la dernière version principale qu’il peut prendre en charge.The compiler accepts all valid language syntax from the latest major version that it can support.
8.08.0 Le compilateur accepte uniquement la syntaxe incluse dans C# 8.0 ou une version antérieure.The compiler accepts only syntax that is included in C# 8.0 or lower.
7.37.3 Le compilateur accepte uniquement la syntaxe incluse dans C# 7.3 ou une version antérieure.The compiler accepts only syntax that is included in C# 7.3 or lower.
7.27.2 Le compilateur accepte uniquement la syntaxe incluse dans C# 7.2 ou une version antérieure.The compiler accepts only syntax that is included in C# 7.2 or lower.
7.17.1 Le compilateur accepte uniquement la syntaxe incluse dans C# 7.1 ou une version antérieure.The compiler accepts only syntax that is included in C# 7.1 or lower.
77 Le compilateur accepte uniquement la syntaxe incluse dans C# 7.0 ou une version antérieure.The compiler accepts only syntax that is included in C# 7.0 or lower.
66 Le compilateur accepte uniquement la syntaxe incluse dans C# 6.0 ou une version antérieure.The compiler accepts only syntax that is included in C# 6.0 or lower.
55 Le compilateur accepte uniquement la syntaxe incluse dans C# 5.0 ou une version antérieure.The compiler accepts only syntax that is included in C# 5.0 or lower.
44 Le compilateur accepte uniquement la syntaxe incluse dans C# 4.0 ou une version antérieure.The compiler accepts only syntax that is included in C# 4.0 or lower.
33 Le compilateur accepte uniquement la syntaxe incluse dans C# 3.0 ou une version antérieure.The compiler accepts only syntax that is included in C# 3.0 or lower.
ISO-2ISO-2 Le compilateur accepte uniquement la syntaxe qui est incluse dans ISO/IEC C# 23270:2006 (2,0).The compiler accepts only syntax that is included in ISO/IEC 23270:2006 C# (2.0).
ISO-1ISO-1 Le compilateur accepte uniquement la syntaxe qui est incluse dans la norme ISO C# /IEC 23270:2003 (1.0/1.2).The compiler accepts only syntax that is included in ISO/IEC 23270:2003 C# (1.0/1.2).

La version du langage par défaut dépend du framework cible de votre application et de la version installée du kit SDK ou de Visual Studio.The default language version depends on the target framework for your application and the version of the SDK or Visual Studio installed. Ces règles sont définies dans l’article configuration de la version linguistique .Those rules are defined in the configuring the language version article.

NotesRemarks

Les métadonnées référencées par votre application C# ne sont pas visées par l’option de compilateur -langversion.Metadata referenced by your C# application is not subject to -langversion compiler option.

Sachant que chaque version du compilateur C# contient des extensions de la spécification du langage, -langversion ne vous offre pas les fonctionnalités équivalentes d’une version antérieure du compilateur.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.

De plus, alors que les mises à jour de la version de C# coïncident généralement avec les versions principales du .NET Framework, la nouvelle syntaxe et les nouvelles fonctionnalités ne sont pas nécessairement liées à cette version spécifique du framework.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. Alors que les nouvelles fonctionnalités nécessitent une nouvelle mise à jour du compilateur, publiée en même temps que la révision de C#, chaque fonctionnalité spécifique a ses propres exigences minimales relatives à l’API .NET ou au Common Language Runtime pour pouvoir s’exécuter sur des frameworks de bas niveau en incluant des packages NuGet ou d’autres bibliothèques.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.

Quel que soit le paramètre -langversion que vous utiliserez, vous vous servirez de la version active du common language runtime pour créer votre fichier .exe ou .dll.Regardless of which -langversion setting you use, you will use the current version of the common language runtime to create your .exe or .dll. Les assemblys friend et -moduleassemblyname (Option du compilateur C#), qui fonctionnent sous -langversion:ISO-1, représentent la seule exception.One exception is friend assemblies and -moduleassemblyname (C# Compiler Option), which work under -langversion:ISO-1.

Pour d’autres façons de spécifier C# la version linguistique, consultez l’article Sélectionner la C# version linguistique .For other ways to specify the C# language version, see the Select the C# language version article.

Pour plus d'informations sur la façon de définir cette option du compilateur par programme, consultez LanguageVersion.For information about how to set this compiler option programmatically, see LanguageVersion.

spécification du langage C#C# language specification

VersionVersion LienLink DescriptionDescription
C# 7.0 et versions ultérieuresC# 7.0 and later actuellement non disponiblenot currently available
C# 6.0C# 6.0 LienLink Spécification du langage C# version 6 - Ébauche non officielle : .NET FoundationC# Language Specification Version 6 - Unofficial Draft: .NET Foundation
C# 5.0C# 5.0 Télécharger PDFDownload PDF Norme ECMA-334 5e éditionStandard ECMA-334 5th Edition
C# 3.0C# 3.0 Télécharger DOCDownload DOC Spécification du langage C# version 3.0 : Microsoft CorporationC# Language Specification Version 3.0: Microsoft Corporation
C# 2.0C# 2.0 Télécharger PDFDownload PDF Norme ECMA-334 4e éditionStandard ECMA-334 4th Edition
C# 1.2C# 1.2 Télécharger DOCDownload DOC Spécification du langage C# version 1.2 : Microsoft CorporationC# Language Specification Version 1.2: Microsoft Corporation
C# 1.0C# 1.0 Télécharger DOCDownload DOC Spécification du langage C# version 1.0 : Microsoft CorporationC# Language Specification Version 1.0: Microsoft Corporation

Version minimale du kit de développement logiciel nécessaire pour prendre en charge toutes les fonctionnalités de langageMinimum SDK version needed to support all language features

Le tableau suivant répertorie les versions minimales du kit de développement C# logiciel (SDK) avec le compilateur qui prend en charge la version de langue correspondante :The following table lists the minimum versions of the SDK with the C# compiler that supports the corresponding language version:

C#VersionC# version Version minimale du kit de développement logicielMinimum SDK version
C# 8.0C# 8.0 Microsoft Visual Studio/Build Tools 2019, version 16,3 ou .NET Core 3,0 SDKMicrosoft Visual Studio/Build Tools 2019, version 16.3, or .NET Core 3.0 SDK
C# 7.3C# 7.3 Microsoft Visual Studio/Build Tools 2017, version 15.7Microsoft Visual Studio/Build Tools 2017, version 15.7
C# 7.2C# 7.2 Microsoft Visual Studio/Build Tools 2017, version 15.5Microsoft Visual Studio/Build Tools 2017, version 15.5
C# 7.1C# 7.1 Microsoft Visual Studio/Build Tools 2017, version 15.3Microsoft Visual Studio/Build Tools 2017, version 15.3
C# 7.0C# 7.0 Microsoft Visual Studio/Build Tools 2017Microsoft Visual Studio/Build Tools 2017
C# 6C# 6 Microsoft Visual Studio/Build Tools 2015Microsoft Visual Studio/Build Tools 2015
C#5,5C# 5 Microsoft Visual Studio/Build Tools 2012 ou compilateur .NET Framework 4.5 groupéMicrosoft Visual Studio/Build Tools 2012 or bundled .NET Framework 4.5 compiler
C# 4C# 4 Microsoft Visual Studio/Build Tools 2010 ou compilateur .NET Framework 4.0 groupéMicrosoft Visual Studio/Build Tools 2010 or bundled .NET Framework 4.0 compiler
C#1,3C# 3 Microsoft Visual Studio/Build Tools 2008 ou compilateur .NET Framework 3.5 groupéMicrosoft Visual Studio/Build Tools 2008 or bundled .NET Framework 3.5 compiler
C#2C# 2 Microsoft Visual Studio/Build Tools 2005 ou compilateur .NET Framework 2.0 groupéMicrosoft Visual Studio/Build Tools 2005 or bundled .NET Framework 2.0 compiler
C#1.0/1.2C# 1.0/1.2 Microsoft Visual Studio/Build Tools .NET 2002 ou regroupé .NET Framework 1,0 du compilateurMicrosoft Visual Studio/Build Tools .NET 2002 or bundled .NET Framework 1.0 compiler

Voir aussiSee also