Linux下VS Code设置C# 7.2版本遇编译错误CS1513求助
解决CS1513语法错误及正确启用C# 7.2特性的方法
首先得明确:你遇到的CS1513: } expected错误是语法层面的问题——代码里少了一个闭合的大括号,这个和C#版本启用与否没关系,得先把这个核心问题解决,再处理语言版本的配置。
第一步:修复CS1513语法错误
错误提示已经精准指向了Program.cs(118,2),也就是第118行第2列附近,你可以按这些方法排查:
- 打开VS Code后,点击这一行的左大括号,编辑器会自动高亮对应的配对括号,看看是不是某个代码块(比如
if/else分支、for循环、方法或类定义)的闭合大括号丢失了。 - 用VS Code的格式化快捷键
Ctrl+Shift+I(Windows/Linux)或Cmd+Shift+I(Mac)自动整理代码排版,嵌套结构会变得更清晰,很容易发现哪里的括号没配对。 - 有时候错误提示的行号只是“问题显现的位置”,实际缺失的括号可能在更前面的代码里,建议从第118行往上逐段检查最近的代码块。
第二步:正确配置C# 7.2语言版本
你之前在.csproj里添加的配置有语法错误:<PropertyGroup">多了一个多余的双引号,这会导致配置完全不生效。正确的配置片段应该是这样的:
<PropertyGroup> <LangVersion>7.2</LangVersion> </PropertyGroup>
把这段代码添加到你的.csproj文件中,保存后重新运行dotnet build,就能正常启用C#7.2的特性了。
补充说明:.NET Core 2.0 SDK确实默认支持C#7.2,但默认启用的是C#7.0版本,所以必须手动指定<LangVersion>才能开启7.1和7.2的新特性,但前提是先解决所有语法错误,否则构建会先卡在语法问题上。
额外排查建议
如果修复了括号和配置后还是有问题,可以试试:
- 重启VS Code,确保C#扩展正常加载,有时候扩展临时异常会影响语法检测和构建流程。
- 运行
dotnet --version命令确认你的SDK版本确实是2.0及以上,版本不足的话也会导致C#7.2特性无法启用。
内容的提问来源于stack exchange,提问作者Ashkan Rahmani




