我正在使用下面的代码在C#7.0中尝试新的Tuple语法,而且它没有编译。 VS 2017 15.7 .Net 4.6不提供错误计数,但在输出窗口中显示错误。 Resharper没有指出任何错误。相同的代码在Linqpad中运行。我安装了Install-Package System.ValueTuple -Version 4.5.0
我错过了什么?
private (bool a, bool b) Get(int num)
{
return (true, false);
}
错误是:
error CS1519: Invalid token '(' in class, struct, or interface member declaration
error CS1001: Identifier expected
error CS1002: ; expected
Syntax error, ',' expected
error CS1002: ; expected
error CS1520: Method must have a return type
error CS1026: ) expected
error CS1002: ; expected
error CS1513: } expected
error CS1002: ; expected
error CS1513: } expected
答案 0 :(得分:1)
安装最新版本的Microsoft.Net.Compilers升级版本我修复了问题但后来我继续删除了csproj和packages.config文件中对它的所有引用。我不记得为什么我需要它。
Install-Package Microsoft.Net.Compilers -Version 2.8.2
答案 1 :(得分:0)
在更新Visual Studio版本之后,为了使用新的语法,您需要再做一件事:
转到您的NUGET软件包管理器,并添加对System.ValueTuple.dll
的引用。