válida the ser para opción langversion invalid for debe cs1617 c# .net asp.net-mvc-5.2 .net-4.6

c# - the - Error Opción no válida ''6'' para/langversion; debe ser ISO-1, ISO-2, 3, 4, 5 o Predeterminado



cs1617: opción ''6'' no válida para/langversion; debe ser iso-1, iso-2, 3, 4, 5 o default. (5)

Estoy tratando de apuntar a .NET 4.6 y también aprovechar la última versión de C # cambiando la versión del lenguaje C # a 6.

Sin embargo, durante la compilación recibí este error:

Error Opción no válida ''6'' para / langversion; debe ser ISO-1, ISO-2, 3, 4, 5 o Predeterminado

Si actualizo /langversion:6 en la configuración Web.Config a 5 funciona,

<system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701">

Pero, ¿cómo resuelvo esto sin recurrir a la versión en un idioma inferior?

Estoy usando Visual Studio 2015 Community Edition, y también he instalado .NET Framework 4.6 manualmente en caso de que Visual Studio 2015 no lo haya instalado de manera predeterminada.

El proyecto es un proyecto de plantilla ASP.NET MVC estándar creado por Visual Studio 2015.


¡Vea una respuesta al extraño error de compilación de ASP.NET! .

La degradación de su lenguaje C # a 5 solo enmascara el problema, tan pronto como alguien use una función C # 6 su sitio web / proyecto se romperá y aún pasará tiempo reparándolo nuevamente. Prueba la solución en el enlace.


1. Vaya a Proyecto y seleccione las propiedades de su Proyecto.

2 Seleccione Construir y haga clic en el botón Avanzado.

3. Seleccione Idioma Versión predeterminada.

4. guardar.


Actualice los siguientes paquetes de NuGet (lo que esté instalado) para resolver el problema:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  • Microsoft.Net.Compilers

Conocí tal comportamiento si el proyecto no se actualizó completamente a VS2015. En caso de que abra la solución de 2015 en VS2013, obtendrá este error


Preste atención al "tipo" del compilador en el archivo Web.Config , cuando cambie la versión de Framework:

para 4.5 y C # 5 -

type="Microsoft.CSharp.CSharpCodeProvider...

para 4.6 y C # 6 -

type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

Más información en esta publicación del foro