Cuando se usa Visual Studio Enterprise 16.3.7 en dos máquinas separadas, una se compila bien y la otra máquina arroja el error:
La función 'usar declaraciones' no está disponible en C# 7.3. Utilice la versión de idioma 8.0 o superior.
Esto se puede resolver fácilmente en la máquina que no funciona configurando LangVersion en .csproj como se sugiere aquí https://stackoverflow.com/a/48085575/3850405 o deja que Visual Studio lo arregle automáticamente como en la pantalla de impresión anterior.
<LangVersion>8.0</LangVersion> Lo que no puedo entender es por qué una máquina funciona bien sin esta línea en .csproj y la otra máquina la necesita.
Recibí el mismo error, pero simplemente había olvidado incluir el
<LangVersion>8.0</LangVersion>atributo en TODOS los archivos .csproj en la solución. La siguiente es mi configuración actual de C# 8:
<PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <LangVersion>8.0</LangVersion> <Nullable>enable</Nullable> <NullableContextOptions>enable</NullableContextOptions> </PropertyGroup>Encontré que los siguientes documentos son los más útiles al migrar del núcleo 2.2 al 3.x:
Tuve que actualizar Visual Studio a la versión de 16.3.X a 16.4.2. Esto resolvió el problema y no tuve que agregar ninguna LangVersion.
Créditos: https://github.com/aspnet/AspNetCore.Docs/issues/16047