CS1525错误求助:无效表达式项'.'问题排查
解决CS1525: Invalid expression term '.' 错误
报错的核心原因是你在ASP.NET视图中使用了C# 6引入的空值条件运算符?.,但当前视图的编译环境未启用C# 6及以上版本的语法支持——尽管你的项目基于.NET 4.7.2(本身支持C# 6+),但视图的编译配置是独立的。
以下是几种修复方案:
修改视图编译配置,启用C# 6语法
- 打开项目根目录的
Web.config,找到<system.web>下的<compilation>节点,确保添加language属性指定C#版本:<compilation debug="true" targetFramework="4.7.2" language="c#;version=6"> - 打开
Views文件夹下的Web.config,找到<system.web.webPages.razor>下的<pages>节点,添加compilerOptions配置:<pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <!-- 保留原有命名空间配置 --> </namespaces> <compilerOptions languageVersion="6" /> </pages>
保存配置后,重启Visual Studio并重新生成项目。
- 打开项目根目录的
替换为兼容低版本C#的空值判断写法
如果不想修改配置,直接把?.替换为传统的三元运算符判断,避免语法不兼容:<%: Core.memberInfo != null ? Core.memberInfo.Username : "" %>[<%: Core.memberInfo != null ? Core.memberInfo.ID.ToString() : "" %>] /清理项目缓存
若修改后仍报错,尝试清理编译缓存:- 删除项目目录下的
bin和obj文件夹 - 删除
%LocalAppData%\Temp\Temporary ASP.NET Files中对应项目的缓存文件夹 - 重启Visual Studio后重新生成项目
- 删除项目目录下的
内容的提问来源于stack exchange,提问作者ferhatozkanun
相关产品推荐
相关产品推荐

