Start Debugging
2023-06-10 Обновлено 2023-11-05 csharp Edit on GitHub

Как перейти на C# 12

Исправьте ошибки версии языка C# 12, обновив target framework до .NET 8 или указав LangVersion в файле .csproj.

При попытке использовать возможности C# 12 вы можете столкнуться с ошибками вроде следующих:

Feature is not available in C# 11.0. Please use language version 12.0 or later.

или

Error CS8652: The feature '' is currently in Preview and unsupported. To use Preview features, use the ‘preview’ language version.

Есть два способа исправить эту ошибку:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
	<LangVersion>preview</LangVersion>
  </PropertyGroup>
</Project>

Версия языка неактивна и её нельзя изменить

Версию языка нельзя изменить из окна Свойства проекта. Версия привязана к целевой версии .NET framework вашего проекта и обновляется в соответствии с ней.

Если вам всё же нужно переопределить версию языка, делайте это так, как описано выше: правкой файла .csproj и указанием LangVersion.

Помните, что каждая версия языка C# имеет минимально поддерживаемую версию .NET. C# 12 поддерживается только в .NET 8 и более новых версиях. C# 11 поддерживается только в .NET 7 и более новых версиях. C# 10 поддерживается только в .NET 6 и более новых версиях. И так далее.

Параметры LangVersion в C#

Помимо номеров версий, есть ряд ключевых слов, которыми можно задать версию языка проекта:

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад