Delen via


Compilerfout CS1617

Ongeldige optie 'option' voor LangVersion. Gebruik ? dit om ondersteunde waarden weer te geven.

Deze fout treedt op als u de opdrachtregeloptie LangVersion of projectinstelling hebt gebruikt, maar geen geldige taaloptie hebt opgegeven. Als u deze fout wilt oplossen, controleert u de opdrachtregelsyntaxis of projectinstelling en wijzigt u deze in een van de vermelde opties.

Als u bijvoorbeeld compileert met csc -langversion:ISO, zal fout CS1617 worden gegenereerd.

Ondersteunde taalversies weergeven

Als u een lijst met ondersteunde taalversies wilt zien, verwijst u naar de tabel in dit artikel, compileert u met -langversion:? of <LangVersion>?</LangVersion> tijdelijk instellen in uw projectbestand voordat u deze bouwt.

De meest betrouwbare manier om ondersteunde taalversies te bekijken, is door de referentietabel aan het einde van dit artikel te raadplegen, waarin alle momenteel ondersteunde taalversies worden vermeld.

De C#-compiler rechtstreeks gebruiken

Gebruik de -langversion:? optie met de C#-compiler. U moet het pad naar csc.dll in uw .NET SDK-installatie vinden.

dotnet exec "/path/to/dotnet/sdk/version/Roslyn/bincore/csc.dll" -langversion:?

Bijvoorbeeld in Linux met .NET 8 SDK:

dotnet exec "/usr/lib/dotnet/sdk/8.0.117/Roslyn/bincore/csc.dll" -langversion:?

Het exacte pad varieert op basis van uw besturingssysteem en .NET SDK-versie.

U kunt tijdelijk <LangVersion>?</LangVersion> instellen in uw projectbestand en builden met diagnostische gedetailleerdheid:

dotnet build -v diagnostic

Zoek in de uitvoer naar de regel Ondersteunde taalversies:.

Waarschuwing

Het instellen van <LangVersion>?</LangVersion> in een projectbestand zorgt ervoor dat de build faalt na het weergeven van de ondersteunde versies. Dit komt doordat de compiler wordt afgesloten nadat de versies zijn vermeld in plaats van door te gaan met het compileren van uw code. Verwijder deze instelling nadat u de lijst hebt bekeken.

Geldige waarden voor -langversion

De geldige waarden voor de taalversies zijn afhankelijk van de .NET-versie die u gebruikt. Zie de taalversieregels voor meer informatie over welke taalversie beschikbaar is met welke versie van .NET. Als u deze fout krijgt tijdens het gebruik van een nieuwere taalversie, downgradet u naar een lagere taalversie of werkt u uw .NET SDK bij naar een versie die de taalversie ondersteunt.

In de volgende tabel worden de huidige geldige waarden opgegeven voor -langversion:

Waarde Betekenis
preview De compiler accepteert alle geldige taalsyntaxis uit de nieuwste preview-versie.
latest De compiler accepteert syntaxis van de nieuwste uitgebrachte versie van de compiler (inclusief kleine versie).
latestMajor
of default
De compiler accepteert syntaxis van de meest recente primaire versie van de compiler.
15.0 De compiler accepteert alleen syntaxis die is opgenomen in C# versie 15 of lager.
14.0 De compiler accepteert alleen syntaxis die is opgenomen in C# 14 of lager.
13.0 De compiler accepteert alleen syntaxis die tot en met C# 13 is opgenomen.
12.0 De compiler accepteert alleen syntaxis die is opgenomen in C# 12 of lager.
11.0 De compiler accepteert alleen de syntaxis die opgenomen is in C# 11 of lager.
10.0 De compiler accepteert alleen syntaxis die is opgenomen in C# 10 of lager.
9.0 De compiler accepteert alleen syntaxis die is opgenomen in C# 9 of lager.
8.0 De compiler accepteert alleen syntaxis die is opgenomen in C# 8.0 of lager.
7.3 De compiler accepteert alleen maar syntaxis die is opgenomen in C# 7.3 of lager.
7.2 De compiler accepteert alleen syntaxis die is opgenomen in C# 7.2 of lager.
7.1 De compiler accepteert alleen syntaxis opgenomen in C# 7.1 of lager.
7 De compiler accepteert alleen syntaxis die is opgenomen in C# 7.0 of lager.
6 De compiler accepteert alleen syntaxis die is opgenomen in C# 6.0 of lager.
5 De compiler accepteert alleen syntaxis die is opgenomen in C# 5.0 of lager.
4 De compiler accepteert alleen syntaxis die is opgenomen in C# 4.0 of lager.
3 De compiler accepteert alleen syntaxis die is opgenomen in C# 3.0 of lager.
ISO-2
of 2
De compiler accepteert alleen syntaxis die is opgenomen in ISO/IEC 23270:2006 C# (2.0).
ISO-1
of 1
De compiler accepteert alleen syntaxis die is opgenomen in ISO/IEC 23270:2003 C# (1.0/1.2).