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.
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"