VS 2017 中的元组语法

Tuple syntax in VS 2017

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

CS8179 Predefined type 'System.ValueTuple`X' is not defined or imported

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

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

根据https://github.com/dotnet/roslyn/issues/13177, the ITuple and ValueTuple types will be added to mscorlib in "the first version after" .NET Framework 4.7. According to the .NET Framework 4.7 release notes,已添加。将它添加到 4.6.x 会破坏 semver。因此,他们将类型作为 Nuget 包提供,以便基于旧框架版本的项目可以使用它。

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

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