En VS2017 RC, cuando intentó usar una nueva sintaxis de tupla, recibió el siguiente error:
CS8179 El tipo predefinido 'System.ValueTuple`X' no está definido ni importado
Para usar la sintaxis de tupla, tuvo que importar manualmente el paquete nuget de ValueTuple al proyecto. No es gran cosa, ya que era una versión preliminar y pensé que se cambiaría en RTM para que se habilitara de forma predeterminada. Desafortunadamente, en la versión de lanzamiento final sigue siendo el caso y debe descargar el paquete nuget para que cada proyecto use la sintaxis de tupla.
¿Hay alguna manera de tener habilitada la sintaxis de tupla para cada proyecto de forma predeterminada?
Según https://github.com/dotnet/roslyn/issues/13177 , los tipos De acuerdo con las notas de la versión de .NET Framework 4.7 , se ha agregado. Agregarlo a 4.6.x rompería semver. Por lo tanto, proporcionaron los tipos como un paquete Nuget para que los proyectos basados en versiones anteriores del marco puedan usarlo.ITuple y ValueTuple se agregarán a mscorlib en "la primera versión posterior" a .NET Framework 4.7.
Esto es similar a un proyecto .NET 2.0 que quiere usar LINQ cuyos métodos de extensión vivían en System.Core, no en mscorlib.
Una opción que podría hacer es crear sus propias plantillas de proyecto mientras tanto que hagan referencia al paquete NuGet.