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

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



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

Seguí recibiendo ese error al ejecutar una nueva aplicación ASP.NET MVC (directamente de la comunidad VS 2015) en una máquina con Windows 2008 Server.


Acabo de cambiar la langversion a la default y funcionó para mí. VS 2015

<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:default /nowarn:1659;1699;1701″> <providerOption name=”CompilerVersion” value=”v4.0″/> </compiler> <compiler language=”vb;vbs;visualbasic;vbscript” extension=”.vb” type=”Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ warningLevel=”4″ compilerOptions=”/langversion:14 /nowarn:41008 /define:_MYTYPE=/&quot;Web/&quot; /optionInfer+”> <providerOption name=”CompilerVersion” value=”v4.0″/> </compiler> </compilers>


Actualice el paquete Microsoft.Net.Compilers Nuget a la última versión (al menos 2.x)


Descubrí que la causa directa del error en mi caso fue:

Esto tiene sentido ya que el error indica que hay una opción no válida para el idioma.

pero, esto funcionaba bien antes, por lo que debe haber sido seleccionado. ¿Qué cambió? Resulta que un miembro de mi equipo se actualizó a 2017, mientras todavía estaba usando 2015. Después de que él hizo cambios en el proyecto, la versión del idioma cambió y recibí ese cambio sobre el control de la fuente. pero la versión seleccionada no estaba disponible para mi versión de vs, por lo que estaba en blanco, de ahí el error. después de seleccionar un valor en el menú desplegable de idiomas (elegí el predeterminado), apareció un nuevo error. el nuevo error estaba causando una falla de compilación en cualquier línea de código que usara la versión más nueva de c #. Cambié el código para realizar las mismas funciones, pero con mi sintaxis de versión C # y el problema resuelto.

entonces, si bien la causa directa del error fue una selección no válida de la Versión del idioma, la causa raíz se debió a que las diferentes versiones vs / c # estaban en conflicto.


En lugar de cambiar la versión del idioma de 6 a 5, cambie el atributo "tipo" en la etiqueta del compilador de

Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

a

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


En mi caso el error fue:

Error CS1617 Opción no válida ''último'' para / langversion; debe ser ISO-1, ISO-2, Predeterminado o un número entero en el rango de 1 a 6.

Abrí mi archivo .csproj con el bloc de notas y vi esta línea:

<PropertyGroup> <LangVersion>latest</LangVersion> </PropertyGroup>

Cambié lo último por un número entero en el rango de 1 a 6

<LangVersion>6</LangVersion>

¡El error desapareció!



He actualizado Microsoft.Net.Compilers a la versión 2.0 o superior

mira esto


La solución más fácil para mí fue actualizar los compiladores .Net a través de Package Manager

Install-Package Microsoft.Net.Compilers

y luego cambiando las líneas Web.Config a esto

<system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=/&quot;Web/&quot; /optionInfer+" /> </compilers> </system.codedom>


Mucha gente se encuentra con él, así que quería publicar aquí.

Encontré una solución fácil y loca gracias a este tipo: Expertdebugger .

Simplemente baje la versión de su idioma de C # 6 a C # 5, así:

<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″> <providerOption name=”CompilerVersion” value=”v4.0″/> </compiler> <compiler language=”vb;vbs;visualbasic;vbscript” extension=”.vb” type=”Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ warningLevel=”4″ compilerOptions=”/langversion:14 /nowarn:41008 /define:_MYTYPE=/&quot;Web/&quot; /optionInfer+”> <providerOption name=”CompilerVersion” value=”v4.0″/> </compiler> </compilers> </system.codedom>

Cambie la langversion:6 hacia abajo de 6 a 5 - langversion:5

Me lo arregló. Gracias a el.


Si desea utilizar C # 6.0:

  1. Asegúrese de que la versión .NET de su proyecto sea superior a la 4.5.2.
  2. Y luego verifique su archivo .config para realizar las siguientes modificaciones.

Busque system.codedom y system.codedom para que se vea como se muestra a continuación:

<system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=/&quot;Web/&quot; /optionInfer+" /> </compilers> </system.codedom>


en este caso, intente usar vs 2019, espero tener ayuda