元组在 VS 2017 中不起作用

Tuples not working in VS 2017

我在 Visual Studio 2017 年有一个 C# 库,我正在尝试在接口中使用元组:

IEnumerable<(Guid Id, string name)> GetFoo ();

我已将引用(通过 NuGet)添加到 System.ValueTuple

Visual Studio 和 ReSharper 都没有检测到此行的问题,但是当我构建时出现错误:

------ Build started ------ 
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Workflow.targets(121,5):
error : Type expected
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Workflow.targets(121,5):
error : Invalid token '(' in class, struct, or interface member
declaration
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Workflow.targets(121,5):
error : Identifier expected; 'string' is a keyword
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Workflow.targets(121,5):
error : ; expected
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Workflow.targets(121,5):
error : Method must have a return type
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这表明它不是使用 C# 7 编译的。

我的目标是 .NET Framework 4.6.2。

我尝试过的事情:

None有效果


编辑: 不是 的副本,因为那里的解决方案(NuGet 包)没有解决问题。

我想我已经找到问题的根源了。

项目导入:

<Import Project="$(MSBuildToolsPath)\Workflow.Targets" />

这是生成输出中错误的来源。如果我用上面的代码将它导入到一个简单的控制台项目中,我可以重现错误。