Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
Habilitación de c# 7 en una aplicación asp.net

Acabo de empezar a trabajar en mi solución anterior en Visual Studio 2017. Simplemente abrir la solución en el IDE anterior funcionó a la perfección. Los proyectos de la aplicación c# ahora tienen como valor predeterminado el compilador c# 7.0. Las páginas de propiedades de esos proyectos (compilación/avanzado) permiten elegir fácilmente la versión de idioma de destino del compilador, por defecto a la última.

Sin embargo, no puedo encontrar una manera de habilitar c # 7.0 en los proyectos web asp.net . Si escribo una declaración como:

 if (int.TryParse("1", out int myInt)) { ... }

el IDE me advierte diciendo que necesito usar la versión 7+ del lenguaje.

Mi investigación sobre este tema muestra que debo apuntar a la versión específica de C# en el área de compiladores system.codedom del archivo web.config, para apuntar a la versión más reciente de Roslyn.

Lo que tengo ahora es:

 <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>

que apunta a c# 6. ¿Cuáles son las configuraciones correctas para c# 7, siempre que ya haya descargado la última versión de Roslyn con nuget?

Actualizar Aquí hay una captura de pantalla de las opciones de compilación disponibles para un proyecto web (es italiano VS2017 pero debería ser fácil de entender). No hay posibilidad de seleccionar la versión de C# objetivo allí.

Opciones de compilación

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

En la ventana NuGet del sitio web:

  1. Desinstalar Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  2. reinstalarlo
  3. En web.config , en: system.codedom > compilers > compiler , cambie compilerOptions ="/langversion: 6 to 7
about 4 years ago · Santiago Trujillo Denunciar

0

Puedo compilarlo con la configuración de idioma predeterminada pero no con la opción C# 7. ingrese la descripción de la imagen aquí

Pero la configuración a continuación da un error de tiempo de compilación:

ingrese la descripción de la imagen aquí

para que pueda mantener la configuración de su versión de idioma como predeterminada.

Si experimenta con Roslyn y no usa la compilación predeterminada del compilador de Visual 2017, es posible que deba realizar algunos cambios más.

Seleccione el nombre de su proyecto y haga clic derecho >> Ventana de propiedades >> Construir y luego agregue las siguientes dos opciones en el cuadro de texto "Símbolos de compilación condicional" __DEMO__,__DEMO_EXPERIMENTAL__

ingrese la descripción de la imagen aquí

Actualizar

Para usar C# 7.0, necesita usar la versión 2.0+ de Microsoft.Net.Compilers

ingrese la descripción de la imagen aquí

después de instalar la última versión de Microsoft.Net.Compilers (2.0+) , puede seleccionar la versión de idioma como C# 7.

por lo que la mejor solución es instalar la última versión de Microsoft.Net.Compilers (2.0+).

about 4 years ago · Santiago Trujillo Denunciar

0

Para la compatibilidad con C# 7.x, establezca la versión del lenguaje de configuración de compilación del proyecto en la última versión secundaria de C# (más reciente)

Versión del lenguaje de configuración de compilación

Si utiliza proveedores de CodeDOM para la plataforma del compilador .NET ("Roslyn") (por ejemplo, el paquete nuget Microsoft.CodeDom.Providers.DotNetCompilerPlatform), configure compilerOptions="/langversion:latest" en web.config para asp.net.

 <system.codedom> <compilers> <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:latest /nowarn:1659;1699;1701"/> </compilers> </system.codedom>

Para más información:

  • https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/langversion-compiler-option
  • https://github.com/aspnet/RoslynCodeDomProvider#what-is-changed
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda