VS2019打开任意Razor Page崩溃,提示Razor Taghelper Provider内部错误
问题根因
从提供的堆栈信息可以确认,该问题由VS2019内置的Razor语言服务与本地安装的.NET SDK版本不兼容导致:Razor解析器在处理设计时代码时抛出类型加载异常,触发远程JSON-RPC调用结果反序列化失败,最终导致IDE进程崩溃。
可行解决方案
- 升级VS2019到最新16.11.x稳定版本:该版本修复了多个Razor TagHelper解析的兼容bug,会直接覆盖旧版本中存在缺陷的内置StreamJsonRpc、Newtonsoft.Json以及Razor语言服务组件。
- 回退.NET SDK版本:如果暂时无法升级VS,卸载本地安装的高于5.0.408版本的.NET 5 SDK,以及所有.NET 6及更高版本的SDK,VS2019对高于该版本的.NET SDK支持存在已知兼容性缺陷,会触发Razor解析崩溃。
- 禁用Razor实时设计时编译:打开VS2019的工具→选项→项目和解决方案→ASP.NET Core,将编辑器中的Razor实时编译选项设置为禁用,重启VS后可以暂时规避崩溃问题,但会丢失TagHelper的智能提示功能。
- 清理全局缓存:如果上述方法均无效,首先执行命令
dotnet nuget locals all --clear清理全局NuGet缓存,再删除%LOCALAPPDATA%\Microsoft\VisualStudio\16.0_*\ComponentModelCache目录下的所有缓存文件,重启VS即可。
内容的提问来源于stack exchange,提问作者Varen Thai
相关产品推荐
相关产品推荐

