Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A cikkben szereplő információk a .NET 5 és újabb verziókra vonatkoznak. UWP-projektek esetén tekintse meg ezt az információt a UWP-verzió kiválasztásacímű cikkben.
A Visual Studióban a nyelvi verzió felhasználói felületen történő módosításának lehetősége le van tiltva, mert az alapértelmezett verzió a projekt cél keretrendszeréhez (TFM) igazodik. Ez az alapértelmezett konfiguráció biztosítja a nyelvi funkciók és a futtatókörnyezet támogatása közötti kompatibilitást. A Visual Studióban a nyelvi verzió módosításához módosítsa a projekt cél keretrendszerét.
A cél TFM (például .NET 6-ről .NET 9) módosítása ennek megfelelően frissíti a nyelvi verziót a C# 10-ről a C# 13-ra. Ez a módszer megakadályozza a futtatókörnyezet kompatibilitásával kapcsolatos problémákat, és minimalizálja a nem támogatott nyelvi funkciók miatti váratlan buildelési hibákat.
Ha olyan nyelvi verzióra van szüksége, amely eltér az automatikusan kiválasztott verziótól, tekintse meg a jelen cikkben szereplő módszereket, amelyekkel felülbírálhatja az alapértelmezett beállításokat közvetlenül a projektfájlban.
Figyelmeztetés
LangVersion elem latest értékre történő beállítása nem ajánlott. A latest beállítás azt jelenti, hogy a telepített fordító a legújabb verzióját használja. A latest értéke gépről gépre változhat, így a buildek megbízhatatlanok. Emellett olyan nyelvi szolgáltatásokat is lehetővé tesz, amelyekhez futtatókörnyezeti vagy tárfunkciókra lehet szükség, amelyek nem szerepelnek az aktuális SDK-ban.
Ha explicit módon kell megadnia a C#-verziót, ezt többféleképpen is megteheti:
- Manuálisan szerkessze a projektfájlt.
- Állítsa be a nyelvi verziót több projekthez egy alkönyvtárban.
- Konfigurálja a LangVersion fordítóbeállítást.
Tipp.
A nyelvi verzió a Visual Studióban a projekttulajdonságok oldalán látható. A Build lap Speciális panelen megjelenik a kiválasztott verzió.
Ha tudni szeretné, hogy milyen nyelvi verziót használ, helyezze el #error version (a kis- és nagybetűk megkülönböztetése) a kódban. Ez a pragma a fordítói jelentést cs8304-es fordítói hibává teszi, amely a fordító verzióját és az aktuálisan kiválasztott nyelvi verziót tartalmazó üzenetet tartalmaz. További információért erről a pragmáról, lásd #error (C# Referencia).
A projektfájl szerkesztése
A nyelvi verziót a projektfájlban állíthatja be. A projektfájl a *.csproj projekt gyökérmappájában található fájl. Ha például kifejezetten hozzá szeretne férni az előzetes verziójú funkciókhoz, adjon hozzá egy olyan elemet, mint a következő példa:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Az érték, preview a fordító által támogatott legújabb előzetes verziójú C#-verziót használja.
Több projekt konfigurálása
Több C#-projekt konfigurálásához létrehozhat egy Directory.Build.props fájlt, amely általában a megoldáskönyvtárban tartalmazza a <LangVersion> elemet. Adja hozzá a következő beállítást a Directory.Build.props fájlhoz :
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
A fájlt tartalmazó könyvtár összes alkönyvtárában a programok mostantól az előzetes C# verziót használják. További információért lásd: A build testreszabása.
Megjegyzés
A C# és a VB verziói eltérőek. Ne használja a Directory.Build.Props fájlt olyan mappához, amelyben az alkönyvtárak mindkét nyelvhez tartalmaznak projekteket. A verziók nem egyeznek.
C# nyelvi verzióra vonatkozó referencia
Fontos
A cél TFM-hez társított verziónál újabb C#-nyelvi verzió használata nem támogatott.
Az alábbi táblázat az összes aktuális C#-nyelvi verziót tartalmazza. Előfordulhat, hogy a régebbi fordítók nem értenek minden értéket. Ha a legújabb .NET SDK-t telepíti, a felsoroltakhoz minden hozzáférése van.
| Érték | Értelmezés |
|---|---|
preview |
A fordító a legújabb előzetes verzió összes érvényes nyelvszintaxisát elfogadja. |
latest |
A fordító elfogadja a fordító legújabb kiadású verziójának szintaxisát (beleértve az alverziót is). |
latestMajorvagy default |
A fordító elfogadja a fordító legújabb főverziójának szintaxisát. |
14.0 |
A fordító csak a C# 14 vagy annál alacsonyabb változatokban található szintaxist fogadja el. |
13.0 |
A fordító csak a C# 13 vagy annál alacsonyabb szintaxist fogadja el. |
12.0 |
A fordító csak a C# 12 vagy annál alacsonyabb szintaxist fogadja el. |
11.0 |
A fordító csak a C# 11 vagy annál alacsonyabb szintaxist fogadja el. |
10.0 |
A fordító csak a C# 10 vagy annál alacsonyabb szintaxist fogadja el. |
9.0 |
A fordító csak a C# 9 vagy annál alacsonyabb szintaxist fogadja el. |
8.0 |
A fordító csak a C# 8.0 vagy annál alacsonyabb szintaxist fogadja el. |
7.3 |
A fordító csak a C# 7.3 vagy annál alacsonyabb szintaxist fogadja el. |
7.2 |
A fordító csak a C# 7.2 vagy az korábbi verziókban található szintaxist fogadja el. |
7.1 |
A fordító csak a C# 7.1 vagy annál alacsonyabb szintaxist fogadja el. |
7 |
A fordító csak a C# 7.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
6 |
A fordító csak a C# 6.0 vagy annál alacsonyabb szintaxist fogadja el. |
5 |
A fordító csak a C# 5.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
4 |
A fordító csak a C# 4.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
3 |
A fordító csak a C# 3.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
ISO-2vagy 2 |
A fordító csak az ISO/IEC 23270:2006 C# (2.0) szabványban foglalt szintaxist fogadja el. |
ISO-1vagy 1 |
A fordító csak az ISO/IEC 23270:2003 C# (1.0/1.2) szabványban foglalt szintaxist fogadja el. |