Ошибка CS8107: функция "равенство кортежей" недоступна в C# 7.0. Пожалуйста, используйте языковую версию 7.3 или выше

У меня последняя версия Visual Studio 2017

Моя версия Visual Studio

Я пытался:

  • Специально установите C# Version Project на 7.3 введите описание изображения здесь

  • Специально установить проект версии C# на последний

  • вручную изменить.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?

1 ответ

Решение

Ваша версия отладчика использует 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.

Другие вопросы по тегам