我拥有最新的Visual Studio 2017版本
我尝试过:
将C#版本项目专门设置为最新
所有这些之后,我的项目似乎仍无法在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编译的?
答案 0 :(得分:1)
您的调试器版本使用C#7.0。
您的项目正在使用C#7.3,但调试器正在使用C#7.0。
如果您这样做:
bool result = (osti == riverKey); // This will return true, but not in the debugger
这将起作用。
答案 1 :(得分:0)
我遇到了这个问题,尽管版本更高,例如CS8370 C#功能在C#7.3中不可用。请使用语言版本{1}或更高版本。 我发现通过独立的Visual Studio安装程序获得了最新更新,现在已将其清除。 注意:使用Visual Studio“帮助”菜单中的“检查更新”选项,我得到了一个非描述性错误。