VS 2017中的元组语法

时间:2017-03-07 20:36:12

标签: c# .net tuples c#-7.0

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

  

CS8179预定义类型' System.ValueTuple`X'没有定义或   进口

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

默认情况下,是否有办法为每个项目启用元组语法?

1 个答案:

答案 0 :(得分:25)

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

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

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