错误 CS8107:功能 'tuple equality' 在 C# 7.0 中不可用。请使用 7.3 或更高版本的语言
Error CS8107: Feature 'tuple equality' is not available in C# 7.0. Please use language version 7.3 or greater
我有最新的Visual Studio2017版
我试过:
具体设置C#版本工程为7.3
具体设置C#版本项目为最新
- 手动修改项目的 .csproj(到最新和 C# 7.3)
- 更新了 Visual Studio 版本
- 使用 .NET Framework 4.7 而不是 4.7.2
- 安装 ValueTuple 包(我在之后立即将其卸载)
- 安装Microsoft.Net编译器包
在所有这些之后,我的项目似乎仍然无法在 C# 7.3 中编译,因为当我尝试在调试器中比较两个元组时,它会提示此错误消息:
转换为:错误 CS8107:功能 'tuple equality' 在 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.0。
您的项目使用的是 C# 7.3,但调试器使用的是 C# 7.0。
如果你这样做:
bool result = (osti == riverKey); // This will return true, but not in the debugger
这会起作用。
我遇到了这个问题,尽管版本更高,即 CS8370 C# 功能在 C# 7.3 中不可用。请使用语言版本 {1} 或更高版本。
我发现通过独立的 Visual Studio 安装程序获取最新更新并立即将其清除。
注意:我在使用 Visual Studio 帮助菜单中的检查更新选项时遇到了一个非描述性错误。
我有最新的Visual Studio2017版
我试过:
具体设置C#版本工程为7.3
具体设置C#版本项目为最新
- 手动修改项目的 .csproj(到最新和 C# 7.3)
- 更新了 Visual Studio 版本
- 使用 .NET Framework 4.7 而不是 4.7.2
- 安装 ValueTuple 包(我在之后立即将其卸载)
- 安装Microsoft.Net编译器包
在所有这些之后,我的项目似乎仍然无法在 C# 7.3 中编译,因为当我尝试在调试器中比较两个元组时,它会提示此错误消息:
转换为:错误 CS8107:功能 'tuple equality' 在 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.0。
您的项目使用的是 C# 7.3,但调试器使用的是 C# 7.0。
如果你这样做:
bool result = (osti == riverKey); // This will return true, but not in the debugger
这会起作用。
我遇到了这个问题,尽管版本更高,即 CS8370 C# 功能在 C# 7.3 中不可用。请使用语言版本 {1} 或更高版本。 我发现通过独立的 Visual Studio 安装程序获取最新更新并立即将其清除。 注意:我在使用 Visual Studio 帮助菜单中的检查更新选项时遇到了一个非描述性错误。