.NET Framework 4.8项目VS使用低于7的C#版本无法编译out变量声明
原因说明
.NET Framework 版本和 C# 语言版本没有直接绑定关系。针对传统 .NET Framework 项目,Visual Studio 的默认策略是将最高可用 C# 版本锁定为 C# 6,即使目标框架升级到 .NET Framework 4.8 也不会自动更改语言版本配置。你所使用的 out 变量声明是 C# 7.0 新增的特性,因此在默认配置下会触发编译报错。
解决方法
你可以通过以下两种方式修改项目的 C# 语言版本:
- 方法1:通过Visual Studio可视化界面修改
- 右键点击项目节点,选择「属性」
- 切换到「生成」标签页,点击页面最下方的「高级」按钮
- 在弹出的配置窗口中,找到「语言版本」下拉选项,选择 C# 7.0 或更高版本,保存配置后重新编译即可。
- 方法2:直接修改项目配置文件
打开项目根目录下的.csproj文件,在首个<PropertyGroup>节点内添加如下配置:
保存文件后重新加载项目,即可使用当前Visual Studio支持的最新C#版本。<LangVersion>latest</LangVersion>
注意:如果后续使用到元组等更高版本的C#特性,可能需要额外安装对应的兼容NuGet包,out变量声明等C#7.0基础特性修改语言版本后即可直接使用。
内容的提问来源于stack exchange,提问作者Anders Lindén
相关产品推荐
相关产品推荐

