Start Debugging
2025-01-01 Обновлено 2025-01-02 csharp-13csharpdotnetdotnet-9 Edit on GitHub

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

Как исправить 'Feature is not available in C# 12.0' и перевести проект на C# 13, изменив target framework или задав LangVersion в файле .csproj.

Пробуя возможности C# 13, вы можете столкнуться с ошибками, похожими на эти:

Feature is not available in C# 12.0. Please use language version 13.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>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <LangVersion>preview</LangVersion>
  </PropertyGroup>
</Project>

Версия языка неактивна и не может быть изменена

Версию языка нельзя изменить из окна Properties проекта. Версия привязана к версии target .NET framework проекта и будет обновляться в соответствии с ней.

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

Помните, что у каждой версии языка C# есть минимальная поддерживаемая версия .NET. C# 13 поддерживается только в .NET 9 и более новых версиях. C# 12 поддерживается только в .NET 8 и более новых версиях.

Опции LangVersion для C#

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

Не то, что вы искали?

Возможно, вы ищете переход на другую версию C#, в этом случае:

Comments

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

< Назад