visual tutorial studio linea fuente español ejemplos configurar code clases caracteristicas cambiar biblioteca ajuste c# visual-studio visual-studio-2017 c#-7.0

tutorial - ¿Cómo puedo habilitar todas las funciones de C#7 en el proyecto Visual Studio 2017?



visual studio code ejemplos (3)

Cualquier proyecto dirigido a .NET 4.7 puede usar tuplas C # 7 sin agregar un paquete Nuget. Tendrás que instalarlo manualmente:

  1. Actualice a Windows 10 Creator''s Update (10.0.15063) o instale .NET Framework 4.7 en otras versiones de Windows: https://www.microsoft.com/en-us/download/details.aspx?id=55170
  2. Desde el menú Inicio, ejecute Visual Studio Installer y haga clic en Modificar. Vaya a "Componentes individuales" y verifique los siguientes dos componentes:
    • .NET Framework 4.7 SDK
    • Paquete de orientación de .NET Framework 4.7

No funciona listo para usar en Windows 10 Creator''s Update porque Microsoft omitió los componentes .NET 4.7 de la carga de trabajo del "entorno de escritorio .NET". Archivé un error, pero lo cerraron como No es un error:

Después del lanzamiento de Visual Studio 2017, quería intentar crear un proyecto de consola simple con nuevas características de C # 7. Esperaba que simplemente descargue el nuevo Visual Studio 2017, luego cree un nuevo proyecto de consola y pueda usar las nuevas características de C # 7. Pero no puedo

Puedo usar algunas funciones, como Tuples si instalo el paquete NuGet System.ValueTuple .

Pero para otras características, no sé qué debo hacer. Por ejemplo, este problema NuGet .

¿Tengo que hacer toda esta instalación sucia ahora? ¿O puedo habilitar las funciones de c # 7 de una manera más simple?


La actualización 3 de Vs2017 puede admitir c # 7.1 pero está configurado de manera predeterminada para admitir c # 7.0.

Puede modificar la configuración de su proyecto y seleccionar c # 7.1

para obtener más detalles sobre cómo configurar vs2017.3 para admitir la última versión de c # 7.1


Para los tipos arbitrarios de tareas a las que se vinculó en la segunda parte de su pregunta, debe incluir el paquete System.Threading.Tasks.Extensions .

La razón por la que necesita estos paquetes NuGet es porque las nuevas características del lenguaje dependen de nuevos tipos agregados al marco .NET. Los nuevos tipos de los que dependen las características del lenguaje C # no se "integrarán en el marco" hasta la próxima versión secundaria lanzada después de 4.6.2 para no romper SemVer 1 . Por lo tanto, a menos que esté creando un proyecto utilizando la próxima versión del marco, necesitará usar los paquetes NuGet para que las funciones funcionen.

Esto no es diferente a hacer que los métodos de extensión funcionen en un proyecto .NET 2.0 . Puede usar métodos de extensión, pero necesita usar un paquete NuGet (o agregar el código usted mismo) para obtener los tipos en los que se basa para agregarlos a su proyecto.

1: Entonces 4.7 o 5.0, como decidan llamarlo, si hay un 4.6.3 no estará en esa versión porque no es un aumento menor de la versión de lanzamiento, es un aumento de la versión del parche y no se puede hacer Los cambios de API en una versión de parche aumentan sin violar las versiones semánticas