Visual Studio更新至17.11.3后Blazor项目出现TS1109 JS警告
Visual Studio 17.11.3中Blazor组件触发TS1109警告的问题
更新Visual Studio至17.11.3版本后,几乎所有在VS中打开的文件都会触发如下警告:
Severity Code Description Project File Line Suppression State Warning (active) TS1109 (JS) Expression expected. Miscellaneous D:\xxx\Components\Core\DialogConfirmComponent.razor__virtual.html__virtual.js 9
你提到的_virtual.html__virtual.js是VS处理Blazor组件时生成的临时虚拟文件,用于实时语法检查,不属于项目实际文件。更新前未出现该问题,想确认这是否是.NET的Bug,以及该如何处理。
最小复现步骤
- 安装Visual Studio 17.11.3
- 执行命令:
dotnet new install MudBlazor.Templates - 创建新项目——MudBlazor Web APP(服务器渲染模式/全局)
- 打开Counter组件,删除所有内容
- 粘贴以下代码:
<MudButton Variant="Variant.Filled" Color="Color.Primary" DropShadow="false" OnClick="@(()=>blabla())">Validate</MudButton> @code { public void blabla() { } }
- 保存即可触发警告
问题说明与解决方法
这是Visual Studio 17.11.3版本的已知Bug,和.NET SDK的Blazor JS代码生成逻辑有关,属于编辑器层面的误报,不会影响项目编译和运行。
可以通过以下方式处理:
临时禁用JS语法检查
- 打开VS的「工具」→「选项」→「文本编辑器」→「JavaScript/TypeScript」→「Linting」→「常规」,取消勾选「启用JavaScript linting」;
- 或者右键项目→「属性」→「生成」,找到「JavaScript/TypeScript编译」,将「启用JavaScript linting」设为False。
回退到VS 17.11.2版本
若需要保留JS语法检查功能,可以从微软官网下载安装17.11.2版本,等待官方修复后续补丁。等待官方更新修复
微软已收到相关反馈,预计会在后续补丁版本(如17.11.4)中修复该问题,留意VS的更新通知即可。
内容的提问来源于stack exchange,提问作者Dorian
相关产品推荐
相关产品推荐

