Konfigurera C#-språkversion
Varning
Det rekommenderas inte att ange elementet LangVersion
till latest
. Inställningen latest
innebär att den installerade kompilatorn använder sin senaste version. Det kan ändras från dator till dator, vilket gör byggen otillförlitliga. Dessutom möjliggör den språkfunktioner som kan kräva körnings- eller biblioteksfunktioner som inte ingår i den aktuella SDK:t.
Om du måste ange C#-versionen explicit kan du göra det på flera sätt:
- Redigera projektfilen manuellt.
- Ange språkversionen för flera projekt i en underkatalog.
- Konfigurera kompileringsalternativet LangVersion.
Dricks
Du kan se språkversionen i Visual Studio på sidan projektegenskaper. Under fliken Skapa visar fönstret Avancerat den valda versionen.
Om du vill veta vilken språkversion du använder för närvarande lägger #error version
du (skiftlägeskänslig) i koden. Detta gör kompilatorrapporten till ett kompilatorfel, CS8304, med ett meddelande som innehåller den kompilatorversion som används och den aktuella valda språkversionen. Mer information finns i #error (C#-referens ).
Redigera projektfilen
Du kan ange språkversionen i projektfilen. Om du till exempel uttryckligen vill ha åtkomst till förhandsversionsfunktioner lägger du till ett element som det här:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Värdet preview
använder den senaste tillgängliga C#-språkversionen för förhandsversion som kompilatorn stöder.
Konfigurera flera projekt
Om du vill konfigurera flera projekt kan du skapa en Directory.Build.props-fil , vanligtvis i din lösningskatalog, som innehåller elementet <LangVersion>
. Lägg till följande inställning i filen Directory.Build.props :
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
Versioner i alla underkataloger i katalogen som innehåller filen använder nu förhandsversionen av C#. Mer information finns i Anpassa din version.
Referens för C#-språkversion
I följande tabell visas alla aktuella C#-språkversioner. Äldre kompilatorer kanske inte förstår varje värde. Om du installerar den senaste .NET SDK:en har du åtkomst till allt som visas.
Värde | Innebörd |
---|---|
preview |
Kompilatorn accepterar alla giltiga språksyntaxer från den senaste förhandsversionen. |
latest |
Kompilatorn accepterar syntax från den senaste versionen av kompilatorn (inklusive delversion). |
latestMajor eller default |
Kompilatorn accepterar syntax från den senaste versionen av huvudversionen av kompilatorn. |
13.0 |
Kompilatorn accepterar endast syntax som ingår i C# 13 eller lägre. |
12.0 |
Kompilatorn accepterar endast syntax som ingår i C# 12 eller lägre. |
11.0 |
Kompilatorn accepterar endast syntax som ingår i C# 11 eller lägre. |
10.0 |
Kompilatorn accepterar endast syntax som ingår i C# 10 eller lägre. |
9.0 |
Kompilatorn accepterar endast syntax som ingår i C# 9 eller lägre. |
8.0 |
Kompilatorn accepterar endast syntax som ingår i C# 8.0 eller lägre. |
7.3 |
Kompilatorn accepterar endast syntax som ingår i C# 7.3 eller lägre. |
7.2 |
Kompilatorn accepterar endast syntax som ingår i C# 7.2 eller lägre. |
7.1 |
Kompilatorn accepterar endast syntax som ingår i C# 7.1 eller lägre. |
7 |
Kompilatorn accepterar endast syntax som ingår i C# 7.0 eller lägre. |
6 |
Kompilatorn accepterar endast syntax som ingår i C# 6.0 eller lägre. |
5 |
Kompilatorn accepterar endast syntax som ingår i C# 5.0 eller lägre. |
4 |
Kompilatorn accepterar endast syntax som ingår i C# 4.0 eller lägre. |
3 |
Kompilatorn accepterar endast syntax som ingår i C# 3.0 eller lägre. |
ISO-2 eller 2 |
Kompilatorn accepterar endast syntax som ingår i ISO/IEC 23270:2006 C# (2.0). |
ISO-1 eller 1 |
Kompilatorn accepterar endast syntax som ingår i ISO/IEC 23270:2003 C# (1.0/1.2). |