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

337
Vistas
¿Cómo puedo habilitar todas las características de C# 7 en el proyecto de Visual Studio 2017?

Después del lanzamiento de Visual Studio 2017, quería intentar crear un proyecto de consola simple con las 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 funciones de C# 7. Pero no puedo.

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

Pero para otras funciones, no sé qué debo hacer. Por ejemplo , este problema de NuGet .

¿Necesito hacer toda esta instalación sucia ahora? ¿O puedo habilitar las funciones de C# 7 de una manera más sencilla?

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

0

Para tipos de tareas arbitrarias 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 que las nuevas características del lenguaje se basan en 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 que se publique la próxima versión secundaria después de 4.6.2 para no romper SemVer 1 . Entonces, a menos que esté creando un proyecto usando la próxima versión del marco, necesitará usar los paquetes NuGet para que las características 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 sea que decidan llamarlo, si hay un 4.6.3 no estará en esa versión porque no es un aumento de versión de lanzamiento menor, es un aumento de versión de parche y no se puede hacer Cambios de API en un aumento de versión de parche sin violar el control de versiones semántico.

over 4 years ago · Santiago Trujillo Denunciar

0

Cualquier proyecto que apunte 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. En el menú Inicio, ejecute Visual Studio Installer y haga clic en Modificar. Vaya a "Componentes individuales" y verifique los siguientes dos componentes:
    • SDK de .NET Framework 4.7
    • Paquete de destino de .NET Framework 4.7

No funciona de forma inmediata en Windows 10 Creator's Update porque Microsoft omitió los componentes .NET 4.7 de la carga de trabajo del "entorno de escritorio .NET". Presenté un error, pero lo cerraron como Not a Bug:

  • https://developercommunity.visualstudio.com/content/problem/41930/vs-2017-does-not-install-net-47-sdk-and-targeting.html
over 4 years ago · Santiago Trujillo Denunciar

0

La actualización 3 de Vs2017 puede admitir c#7.1, pero está configurada 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

over 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