【发布时间】:2019-04-19 03:41:52
【问题描述】:
我有最新的 Visual Studio 2017 版本
我试过了:
具体将 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