Visual Studio 2013中C#使用$字符串插值语法报错如何解决?
问题根本原因
C#的$字符串插值语法是C# 6.0版本才新增的特性,Visual Studio 2013默认最高支持的C#版本为C# 5.0,不识别$语法因此会抛出Unexpected character '$'的错误;而Visual Studio 2019默认搭载的C#编译器版本远高于6.0,因此可以正常运行该语法。
另外你的示例代码还存在语法问题:即使编译器支持C# 6.0,空的{}也会触发报错,插值语法的大括号内必须填写要插入的变量、常量或者合法的C#表达式,不能留空。
修复方案
方案1:使用C# 5.0兼容的字符串格式化语法
直接改用Console.WriteLine自带的占位符写法,不需要调整编译器版本即可运行,示例如下:
// 假设你要插入的变量为name string name = "测试用户"; // 兼容所有C#版本的写法 Console.WriteLine("Name is : {0}", name);
方案2:为Visual Studio 2013添加C# 6.0支持
如果希望继续使用$插值语法,可以通过NuGet安装升级项目的编译器版本,操作步骤:
- 右键你的项目 -> 选择「管理NuGet程序包」
- 搜索
Microsoft.Net.Compilers,安装适配当前项目.NET Framework版本的包(支持C# 6.0的最低版本即可) - 安装完成后重新编译项目,即可正常识别
$插值语法
方案3:升级Visual Studio版本
直接升级到Visual Studio 2017及以上版本,默认原生支持C# 6.0及更高版本的所有语法特性,无需额外配置。
内容的提问来源于stack exchange,提问作者Kian.Net
相关产品推荐
相关产品推荐

