在VS2017 RC中,当您尝试使用新的元组语法时,收到以下错误:
CS8179预定义类型' System.ValueTuple`X'没有定义或 进口
为了使用元组语法,您必须手动将ValueTuple nuget包导入项目中。没什么大不了的,因为它是预发布版本,我认为它将在RTM中更改,因此它将默认启用。不幸的是在最终版本中仍然如此,你必须为每个项目下载nuget包以使用元组语法。
默认情况下,是否有办法为每个项目启用元组语法?
答案 0 :(得分:25)
根据https://github.com/dotnet/roslyn/issues/13177,根据.NET Framework 4.7 release notes,它已被添加。将其添加到4.6.x会破坏semver。因此,他们将类型作为Nuget包提供,以便基于旧框架版本的项目可以使用它。ITuple
和ValueTuple
类型将添加到" mscorlib""之后的第一个版本.NET Framework 4.7。
这类似于想要使用LINQ的.NET 2.0项目,扩展方法存在于System.Core中,而不是mscorlib。
您可以做的一个选择是在过渡期间创建自己的项目模板,引用NuGet包。