Estoy probando Visual Studio 2015 con C # 6.0 pero las características del lenguaje no funcionan. En una aplicación web MVC, se compila el siguiente código:
if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName))
{
// More logic here...
}
Sin embargo, cuando ejecuto la aplicación a través de Debug e IIS Express, aparece el siguiente error:
CS1525: término de expresión no válido '.'
¿Cómo habilito estas funciones?
c#
asp.net-mvc
visual-studio-2015
roslyn
c#-6.0
Chris Schiffhauer
fuente
fuente
compiler
elemento para el proveedor de códigos roslyn msdn.microsoft.com/en-us/library/y9x69bzw(v=vs.110).aspx en la web.config?Respuestas:
Esto funciona en MVC 5 (probado 5.2.3), solo necesita agregar el código roslyn dom Nuget package
Proveedores de CodeDOM para el compilador .NET ...
https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/
fuente
nuget.org
. Como puede ver en el enlace, es el nombre correcto y el paquete existe.Bueno, tengo MVC5 y recientemente instalé VS 2015.
He instalado el paquete de proveedores de CodeDOM, pero no ayudó ... Pero después de eso me di cuenta de que ese paquete solo admite el marco 4.5, mientras que tengo el marco de destino establecido en 4.6 durante las pruebas, aunque funciona con 4.5 ...
Así que preste atención también al marco objetivo. Si tiene 4.5, simplemente instale el paquete Microsoft.CodeDom.Providers.DotNetCompilerPlatform. Pero si tiene 4.5.1-4.6 como objetivo, tendrá que cambiar en la sección web.config
Para C # , simplemente cambie el tipo a:
fuente
C# 6
a trabajarASP.NET 4.6
, pero podría haber sido mejor publicar el código con el correctotype
ya allí ...Estaba teniendo este mismo problema en Visual Studio 2015. Otra respuesta aquí aludía a la solución que usé, pero especificaron incorrectamente la solución y nunca dieron aclaraciones.
En el menú de Visual Studio, seleccione Proyecto y debería ver el subelemento Habilitar C # 6 / VB 14 si tiene este problema. Seleccione este elemento secundario del menú. Descargará los paquetes correctos de Nuget y los instalará. Después de esto, reinicie Visual Studio y vuelva a cargar su solución.
No puedo verificar si esto también solucionará la selección de Propiedades del proyecto> Compilación> Avanzado> Versión de idioma en C # 6 , por lo que es posible que desee verificar esto también después de habilitar C # 6 desde el menú.
fuente
Verifique las propiedades de su proyecto, vaya a compilar, avanzado y vea si C # 6.0 si no lo tiene por defecto.
¡Actualmente hay un soporte perfecto para MVC5 y C # 6.0 y funciona increíblemente bien!
fuente
Incluyendo seguir el consejo de instalar la última
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
versión, también tuve que configurar mi raízWeb.config
system.codedom
para que finalmente todos los erroresVisual Studio 2015
desaparezcan:Ahora reinicie
Visual Studio
y eso debería hacerlo.fuente
Visual Studio 2015 también mostrará un
Enable C#6 / VB 14
en el menú Proyecto con un sitio web ASP.NET / aplicación web seleccionada.Esto instalará de facto
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
y losMicrosoft.Net.Compilers
paquetes en su proyecto y agregará las etiquetas apropiadas al archivo web.config.fuente
fuente