A C# nyelvi verziójának konfigurálása
Figyelmeztetés
LangVersion
Az elem latest
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. Ez gépről gépre változhat, így a buildek megbízhatatlanok lesznek. Emellett olyan nyelvi funkciókat is lehetővé tesz, amelyekhez futásidejű 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 paneljén 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 fordítói jelentést cs8304-es fordítói hibává teszi, amely a használt fordítóverziót és az aktuálisan kiválasztott nyelvi verziót tartalmazza. További információt a #error (C#-referencia) című témakörben talál.
A projektfájl szerkesztése
A nyelvi verziót a projektfájlban állíthatja be. Ha például kifejezetten hozzá szeretne férni az előzetes verziójú funkciókhoz, adjon hozzá egy ehhez hasonló elemet:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Az érték preview
a fordító által támogatott legújabb előzetes verziójú C# nyelvi verziót használja.
Több projekt konfigurálása
Több projekt konfigurálásához létrehozhat egy Directory.Build.props fájlt, amely általában a megoldáskönyvtárban található, és tartalmazza az <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 már az előzetes verziójú C# verziót használja. További információ: A build testreszabása.
C# nyelvi verzióra vonatkozó referencia
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). |
latestMajor vagy default |
A fordító elfogadja a fordító legújabb főverziójának szintaxisát. |
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-ben vagy annál alacsonyabb 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-2 vagy 2 |
A fordító csak az ISO/IEC 23270:2006 C# (2.0) szabványban foglalt szintaxist fogadja el. |
ISO-1 vagy 1 |
A fordító csak az ISO/IEC 23270:2003 C# (1.0/1.2) szabványban foglalt szintaxist fogadja el. |