c# - sirve - visual studio caracteristicas
¿Cómo habilitar la función C#6.0 en Visual Studio 2013? (6)
Estaba revisando las últimas funciones introducidas en C # 6.0 y solo seguí un ejemplo de inicializador automático de propiedades,
class NewSample
{
public Guid Id { get; } = Guid.NewGuid();
}
pero mi IDE no reconoció la sintaxis.
Me pregunto cómo podría habilitar C # 6.0 en Visual Studio 2013. El marco de trabajo de Target que estoy usando es 4.5.1.
Información para el software de prelanzamiento obsoleto:
De acuerdo con this , es solo una instalación e ir a Visual Studio 2013:
De hecho, instalar el compilador C # 6.0 de esta versión implica poco más que instalar una extensión de Visual Studio 2013, que a su vez actualiza los archivos de destino de MSBuild.
Tan solo obtenga los archivos de https://github.com/dotnet/roslyn y https://github.com/dotnet/roslyn listo para comenzar.
Debe saber que es una versión desactualizada de las especificaciones implementadas allí, ya que ya no actualizan el paquete para Visual Studio 2013 :
También puede probar la Vista previa del usuario final de abril, que se instala sobre Visual Studio 2013. (nota: esta vista previa de VS 2013 está bastante desactualizada y ya no se actualiza)
Entonces, si desea usar la última versión, debe descargar Visual Studio 2015 .
Bajo VS2013 puede instalar los nuevos compiladores en el proyecto como un paquete nuget . De esa manera no necesita VS2015 o un servidor de compilación actualizado.
https://www.nuget.org/packages/Microsoft.Net.Compilers/
Install-Package Microsoft.Net.Compilers
El paquete le permite usar / construir código / sintaxis C # 6.0. Debido a que VS2013 no reconoce de forma nativa la nueva sintaxis de C # 6.0, mostrará errores en la ventana del editor de código, aunque funcionará correctamente.
Con Resharper, obtendrá líneas onduladas en las características de C # 6, pero la bombilla le ofrece la opción de ''Habilitar la compatibilidad con C # 6.0 para este proyecto'' (configuración guardada en .DotSettings).
Como mencionó @ stimpy77: para obtener soporte en las vistas de MVC Razor , necesitará un package adicional (para aquellos que no leen los comentarios)
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Si desea soporte completo de C # 6.0, necesitará instalar VS2015.
Es posible usar funciones completas de C # 6.0 en Visual Studio 2013 si tiene Resharper.
¡Tienes que habilitar Resharper Build y listo!
En Opciones de Resharper -> Build - active Resharper Build y en "Use MSBuild.exe version" seleccione "Latest Installed"
De esta manera, Resharper construirá sus proyectos de C # 6.0 y tampoco subrayará el código de C # 6.0 como no válido.
También estoy usando esto, aunque tengo Visual Studio 2015 porque:
- Las pruebas unitarias en Resharper no funcionan para mí con Visual Studio 2015 por alguna razón
- VS 2015 usa mucha más memoria que VS 2013.
Estoy poniendo esto aquí, ya que estaba buscando una solución para este problema desde hace algún tiempo y tal vez ayude a alguien más.
Muchas de las respuestas aquí se escribieron antes de que Roslyn (los compiladores de código abierto .NET C # y VB) se mudaran a .NET 4.6. Por lo tanto, no lo ayudarán si su proyecto apunta, digamos, 4.5.2 como lo hizo el mío (heredado y no se puede cambiar).
Pero puede obtener una versión anterior de Roslyn en https://www.nuget.org/packages/Microsoft.Net.Compilers e instalarla en lugar de la última versión. Usé 1.3.2. (Intenté 2.0.1, que parece ser la última versión que se ejecuta en .NET 4.5, pero no pude compilarlo *). Ejecute esto desde la consola de Package Manager en VS 2013:
PM> Install-Package Microsoft.Net.Compilers -Version 1.3.2
Luego reinicie Visual Studio. Tuve un par de problemas inicialmente; debe volver a configurar la versión de C # por defecto (C # 6.0 no aparece en la lista de versiones, pero parece que se convirtió en la predeterminada), luego limpie, guarde, reinicie VS y vuelva a compilar.
Curiosamente, no tuve ningún error de IntelliSense debido a las características de C # 6.0 utilizadas en el código (que fueron la razón para querer C # 6.0 en primer lugar).
* la versión 2.0.1 arrojó un error La tarea "Microsoft.CodeAnalysis.BuildTasks.Csc no se pudo cargar desde el ensamblado Microsoft.Build.Tasks.CodeAnalysis.dll. No se pudo cargar el archivo o ensamblado ''Microsoft.Build.Utilities.Core, Version = 14.0.0.0, Cultura = neutral, PublicKeyToken = b03f5f7f11d50a3a ''o una de sus dependencias. El sistema no puede encontrar el archivo especificado. Confirme que la declaración es correcta, que el ensamblado y todas sus dependencias están disponibles, y que la tarea contiene un clase pública que implementa Microsoft.Build.Framework.ITask.
ACTUALIZACIÓN Una cosa que he notado desde que publiqué esta respuesta es que si cambia algún código durante la depuración ("Editar y continuar"), le gustaría ver que su código C # 6.0 se mostrará repentinamente como errores en lo que parece volver a un entorno anterior a C # 6.0. Esto requiere un reinicio de su sesión de depuración. MUY molesto especialmente para aplicaciones web.
Parece que hay algunos malentendidos. Entonces, en lugar de tratar de parchear VS2013, aquí hay una respuesta de un chico de Microsoft: https://social.msdn.microsoft.com/Forums/vstudio/en-US/49ba9a67-d26a-4b21-80ef-caeb081b878e/will-c-60-ever-be-supported-by-vs-2013?forum=roslyn
Entonces, por favor, léalo e instale VS2015.
Vale la pena mencionar que el tiempo de compilación aumentará para los usuarios de VS 2015 después de :
Install-Package Microsoft.Net.Compilers
Aquellos que usan VS 2015 y tienen que mantener este paquete en sus proyectos pueden arreglar un mayor tiempo de compilación .
Edite
packages/Microsoft.Net.Compilers.1.2.2/build/Microsoft.Net.Compilers.props
archivos
packages/Microsoft.Net.Compilers.1.2.2/build/Microsoft.Net.Compilers.props
y límpielo.
El archivo debería verse así:
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
Hacerlo obliga a construir un proyecto como estaba antes de agregar
Microsoft.Net.Compilers
paquete
Microsoft.Net.Compilers