Cómo solucionar el error que se produce al compilar una aplicación en Visual Studio .NET: La característica «creación de objetos con tipo de destino» no está disponible en C# 7.3. Use la versión 9.0 del lenguaje o una posterior.

Error que se produce al compilar código no compatible con la versión actual del lenguaje en Visual Studio .NET

El error que se puede producir al compilar un código C# o VB en el IDE Visual Studio .NET:

La característica «creación de objetos con tipo de destino» no está disponible en C# 7.3. Use la versión 9.0 del lenguaje o una posterior.

Es debido a que estamos usando un código C# o VB que no es compatible con la versión actual del lenguaje. Si usamos un determinado .Net Framework y éste tiene establecida una determinada versión del lenguaje, puede que algún código fuente más reciente no sea compatible. Por ejemplo, esta asignación:

En un proyecto Visual Studio .NET C# con la versión del lenguaje 7.0, al compilarlo, mostrará el error:

La característica «creación de objetos con tipo de destino» no está disponible en C# 7.3. Use la versión 9.0 del lenguaje o una posterior.

Solución al error al compilar código no compatible con la versión actual del lenguaje en Visual Studio .NET

En primer lugar, antes de subir la versión del lenguaje en nuestro proyecto Visual Studio .NET, nos aseguraremos de que el Framework que estamos usando sea compatible. Desde la ventana de terminal del proyecto (pulsando con el botón derecho del ratón sobre el proyecto y eligiendo «Abrir en terminal»):

Ejecutaremos el siguiente comando para obtener las versiones del lenguaje compatibles con el Framework que estemos usando en el proyecto:

En este caso, para un proyecto con la versión de .NET Frameworkt 4.8:

Nos indica que las versiones del lenguaje soportadas son:

8.0.309
9.0.200

Por lo que podremos modificar el proyecto para asignarle la versión del lenguaje 9.0 y, así, solucionar el error. Para agregar la versión 9 del lenguaje al proyecto, cerraremos el proyecto en Visual Studio .NET y editaremos el fichero con extensión .csjs:

Añadiremos la siguiente línea en el grupo PropertyGroup:

Guardaremos los cambios y abriremos el proyecto en Visual Studio .NET, el error se habrá solucionado y ya podremos compilar nuestra aplicación.