VS 2017中的元组语法

在VS2017 RC中,当您尝试使用新的元组语法时,您收到以下错误:

CS8179未定义或导入预定义类型’System.ValueTuple`X’

为了使用元组语法,您必须手动将ValueTuple nuget包导入项目中。 没什么大不了的,因为它是预发布版本,我认为它将在RTM中更改,因此它将默认启用。 不幸的是,在最终版本中仍然如此,您必须为每个项目下载nuget包以使用元组语法。

有没有办法默认为每个项目启用元组语法?

根据https://github.com/dotnet/roslyn/issues/13177,ITuple和ValueTuple类型将添加到“.NET Framework 4.7之后的第一个版本”中的mscorlib中。 根据.NET Framework 4.7发行说明 ,它已被添加。 将其添加到4.6.x会破坏semver。 因此,他们将类型提供为Nuget包,以便基于旧框架版本的项目可以使用它。

这类似于想要使用LINQ的.NET 2.0项目,扩展方法存在于System.Core中,而不是mscorlib。

您可以做的一个选项是在引用NuGet包的过渡期间创建自己的项目模板。