Visual Studio 2017中Razor视图(.cshtml)的数据提示无法正常工作
解决VS2017 Community中Razor视图Data Tip无法显示变量数据的问题
我之前在VS2017 Community里也碰到过一模一样的问题——控制器里悬停变量能正常看到Data Tip的实际数据,可到了.cshtml视图里就只显示描述信息,完全看不到变量或模型的真实内容。折腾了好几个方法后终于搞定了,给你分享几个靠谱的解决方案:
重置VS组件缓存
有时候VS的用户数据缓存损坏会导致IntelliSense和调试提示异常,这时候重置缓存往往能解决问题:- 先关闭所有Visual Studio实例
- 以管理员身份打开命令提示符,运行这条命令:
注意:这个操作会重置你的VS个性化设置(比如快捷键、扩展配置),如果有重要的自定义设置,记得先备份devenv.exe /ResetUserData - 重启VS后打开项目,测试Razor视图的Data Tip是否恢复正常
检查并重置Razor语言服务
Razor视图的Data Tip依赖于Razor语言服务,服务异常会直接导致功能失效:- 打开VS,点击顶部菜单的
工具→选项 - 在左侧导航栏依次展开
文本编辑器→HTML→高级 - 确认
启用Razor语言服务选项是勾选状态;如果已经勾选,先取消勾选并点击确定,重启VS后再重新勾选这个选项,强制重启服务
- 打开VS,点击顶部菜单的
安装VS2017最新更新及完整组件
VS2017的旧版本补丁存在不少Razor编辑器的bug,更新到最新版本能修复很多已知问题:- 打开
Visual Studio Installer(可以在开始菜单找到) - 找到你的VS2017 Community实例,点击
更新安装所有可用更新 - 同时检查
.NET Web开发组件是否完整安装,没有缺失的子组件
更新完成后重启VS,再调试测试Data Tip功能
- 打开
清理并重建项目
项目的编译缓存可能会干扰调试时的数据读取:- 在解决方案资源管理器中右键点击项目,选择
清理 - 清理完成后,再右键点击项目选择
重新生成 - 启动调试,在Razor视图中悬停变量,查看是否能显示实际数据
- 在解决方案资源管理器中右键点击项目,选择
确认调试符号加载设置
调试时符号加载不完整也会导致Data Tip无法显示真实数据:- 点击VS顶部菜单的
调试→选项 - 左侧导航栏进入
调试→符号,确认Microsoft符号服务器已勾选(至少确保项目本地符号能正常加载) - 再进入
调试→常规,如果你的项目基于.NET Framework,确保启用.NET框架源代码步进已开启;如果是.NET Core项目,对应开启相关的源代码调试选项
- 点击VS顶部菜单的
如果以上方法都没能解决问题,建议尝试修复VS安装:打开Visual Studio Installer,找到你的VS2017实例,点击更多→修复,等待修复完成后重启VS再测试。
内容的提问来源于stack exchange,提问作者Uzair Khan
相关产品推荐
相关产品推荐

