You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动