【问题标题】:Error CS8107: Feature 'tuple equality' is not available in C# 7.0. Please use language version 7.3 or greater错误 CS8107:功能“元组相等”在 C# 7.0 中不可用。请使用语言版本 7.3 或更高版本
【发布时间】:2019-04-19 03:41:52
【问题描述】:

我有最新的 Visual Studio 2017 版本

我试过了:

  • 具体设置 C# 版本项目为 7.3

  • 具体将 C# 版本项目设置为 latest

  • 手动修改项目的 .csproj(最新和 C# 7.3)
  • 更新了 Visual Studio 版本
  • 使用 .NET Framework 4.7 而不是 4.7.2
  • 安装 ValueTuple 包(我之后立即卸载)
  • 安装 Microsoft.Net 编译器包

在所有这些之后,我的项目似乎仍然无法在 C# 7.3 中编译,因为当我尝试在调试器中比较两个元组时,它会提示以下错误消息:

转换为:错误 CS8107:功能“元组相等”在 C# 7.0 中不可用。请使用语言版本 7.3 或更高版本

这是我的代码:

 (CRiverGameState, int, bool) osti;
 bool canRaise = _gameState.GetLstAllowedActionsForCurrentPlayer().Contains(ActionsPossible.Raise);
 (CRiverGameState, int, bool) riverKey = (riverGameState, (int)_boardType, canRaise);

 foreach(var tabarnak in CDBHelper.PRiverAllGameStatesFoldStats.Keys)
 {
   if (tabarnak.Item1.PID == 2592 && tabarnak.Item2 == 1089 && tabarnak.Item3 == false)
     osti = tabarnak;
 }

我没有想法。为什么我的项目是用 C# 7.0 而不是 C# 7.3 编译的?

【问题讨论】:

  • 请不要发布代码图片。而是以文本形式发布并使用编辑工具格式化文本
  • 确保您已为所有配置(调试、发布等)启用 C# 7.3。 4 ways to enable the latest C# features
  • 我为代码更改了图像,对此感到抱歉。
  • 我尝试了 4 种方法,不幸的是它不起作用。我也对所有配置都这样做了。
  • 我的项目包含在一个包含其他项目的解决方案中,但那些其他项目也都更新到了 C# 7.3。我已经尝试过“Directory.Build.props”的东西,但它仍然不起作用:(

标签: c# visual-studio visual-studio-2017 c#-7.0 c#-7.3


【解决方案1】:

您的调试器版本使用 C# 7.0。

您的项目使用的是 C# 7.3,但调试器使用的是 C# 7.0。

如果你这样做:

bool result = (osti == riverKey); // This will return true, but not in the debugger 

这会起作用。

【讨论】:

  • 您应该编辑您的问题,而不是作为答案发布,事实并非如此。
  • 请使用您问题上的编辑链接添加其他信息。 Post Answer 按钮应仅用于问题的完整答案。 - From Review
  • 这就是答案。如果您遇到此错误,您就会知道为什么会出现此错误。我以为我的项目没有使用 c# 7.3,但事实证明它使用的是 c# 7.3,并且当我使用“watch”变量时调试器没有使用 c# 7.3。但是该项目是在 c# 7.3 中编译的。
  • 我不知道为什么我的调试器使用 c# 7.0,我也不在乎,至少我知道我的项目是在 c# 7.3 下运行的。这就是答案。现在,如果这个人想将他的调试器更新到 c# 7.3,那不是问题。
  • 那么,我该如何解决呢?
【解决方案2】:

我遇到了这个问题,尽管版本更高,即 CS8370 C# 功能在 C# 7.3 中不可用。请使用语言版本 {1} 或更高版本。 我发现通过独立的 Visual Studio 安装程序获取最新的更新可以立即清除它。 注意:我在使用 Visual Studio 帮助菜单中的检查更新选项时遇到了一个非描述性错误。

【讨论】:

    猜你喜欢
    • 2021-12-30
    • 1970-01-01
    • 2019-05-17
    • 2016-06-11
    • 2020-07-08
    • 2020-02-25
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多