Estoy tratando de apuntar a .NET 4.6 y también aprovechar la última versión de C # cambiando la versión de lenguaje C # a 6.
Sin embargo, durante la compilación recibí este error:
Error Opción '6' no válida para / langversion; debe ser ISO-1, ISO-2, 3, 4, 5 o predeterminado
Si actualizo la /langversion:6
configuración en 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 una versión en un idioma inferior?
Estoy usando Visual Studio 2015 Community Edition, y también instalé .NET Framework 4.6 manualmente en caso de que Visual Studio 2015 no lo instalara de forma predeterminada.
El proyecto es un proyecto de plantilla ASP.NET MVC estándar creado por Visual Studio 2015.
c#
.net
asp.net-mvc-5.2
.net-4.6
Rosdi Kasim
fuente
fuente
/langversion:6
...Respuestas:
Preste atención al "tipo" del compilador en el
Web.Config
archivo, 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
fuente
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
Sólo la limpieza de la solución y volver a compilar fijo por mí en VS 2019.Actualice los siguientes paquetes de NuGet (el que esté instalado) para resolver el problema:
fuente
1. Vaya a Proyecto y seleccione las propiedades de su Proyecto.
2 Seleccione Crear y haga clic en el botón Avanzado.
3. Seleccione la versión de idioma predeterminada.
4.Guardar.
https://youtu.be/IP8feQeWqkk
fuente
Me encontré con ese 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
fuente
Abra la consola del Administrador de paquetes NuGet y ejecute el siguiente comando
Paquete de actualización Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r
fuente
¡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 de C # 6, su sitio web / proyecto se romperá y aún pasará tiempo solucionándolo nuevamente. Prueba la solución en el enlace.
fuente
Tuve un problema similar cuando cargaba la aplicación por primera vez en Visual Studio 2019. La actualización de "Microsoft.CodeDom.Providers.DotNetCompilerPlatform" nuget a una versión posterior funcionó para mí.
fuente