UPDATE
的Visual Studio 2017的智能感知可能是缓慢的加入System.ValueTuple
包后进行自我更新,并持续显示错误squigglies即使没有编译错误。编译该项目虽然显示名称元组是工作。快速修复是重新打开源文件或解决方案。
ORIGINAL
错误消息说明“预定义类型System.ValueTuple'2 is not defined or imported
。您需要添加NuGet中的System.ValueTuple包以便使用命名的元组。
一旦你添加的软件包,代码编译:
class Program
{
static (double lat, double lng) GetLatLng(string address)
{
return (1, 1);
}
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var ll = GetLatLng("some address");
Console.WriteLine($"Lat: {ll.lat}, Long: {ll.lng}");
}
}
Scott Hanselman shows如何配置的Visual Studio 2017年将自动提示的NuGet包在Options > Text Editor > C# > Advanced > Using Directives
使设置缺少的类型。
后启用Suggest usings for types in NuGet packages
设置,丢失的元组快速修复菜单显示Install package 'System.ValueTuple'
:
的Find this type on nuget.org
菜单是一个类似ReSharper的功能
它可能是你需要添加nuget包吗? https://www.nuget.org/packages/System.ValueTuple/ –
它绝对可以用.NET Core来做到这一点。您的代码是否使用'$“Lat:{ll.Item1},Long:{ll.Item2}”'进行编译,但在使用元组名时不能使用?这似乎不大可能,但是你暗示你的问题。需要更多信息。 –
我写过Item1和Item2的名字都适用于元组,命名字段如.lat和.lng不是。 –