Start Debugging

Cómo cambiar a C# 12

Resuelve los errores de versión de lenguaje C# 12 actualizando tu target framework a .NET 8 o configurando LangVersion en tu archivo .csproj.

Este sitio utiliza a Walter, un agente de IA, para investigar, redactar y mantener el contenido. Proceso editorial y de verificación

Al probar funciones de C# 12, es posible que te encuentres con errores parecidos a estos:

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

o

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

Hay dos formas de resolver este error:

  • cambia el target framework de tu proyecto a .NET 8 o superior. La versión del lenguaje debería actualizarse automáticamente.
  • edita tu archivo .csproj y especifica el deseado, como en el ejemplo siguiente:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
	<LangVersion>preview</LangVersion>
  </PropertyGroup>
</Project>

La versión del lenguaje aparece en gris y no se puede modificar

Propiedades del proyecto en Visual Studio con el campo Language version deshabilitado y el valor 10.0.

La versión del lenguaje no se puede cambiar desde la ventana de Propiedades del proyecto. La versión está ligada a la versión del target .NET framework de tu proyecto y se actualizará en consecuencia según esta.

Si necesitas sobrescribir la versión del lenguaje, debes hacerlo como se indica arriba: modificando el archivo .csproj y especificando LangVersion.

Recuerda que cada versión del lenguaje C# tiene una versión mínima de .NET soportada. C# 12 solo se admite en .NET 8 y versiones más nuevas. C# 11 solo se admite en .NET 7 y versiones más nuevas. C# 10 solo se admite en .NET 6 y versiones más nuevas. Y así sucesivamente.

Opciones de LangVersion en C#

Además de los números de versión, existen ciertas palabras clave que se pueden usar para especificar la versión del lenguaje de tu proyecto:

  • preview — se refiere a la última versión preliminar
  • latest — la última versión publicada (incluyendo la versión menor)
  • latestMajor o default — la última versión mayor publicada

Comments

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