Blazor Webassembly托管项目热重载与运行时编译相关问题咨询
Blazor WebAssembly托管项目热重载配置方案
之前方案失效的原因
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation是专门为服务端渲染的ASP.NET Core MVC、Razor Pages设计的运行时编译包,完全不支持Blazor WebAssembly的razor组件编译,所以加到Server项目不生效、加到Client项目直接报错都是正常现象。
关于版本限制说明
Blazor WebAssembly原生热重载是.NET 6才正式推出的功能,如果你当前使用的是.NET 5及更早版本,属于版本本身的功能限制,需要先把项目目标框架升级到.NET 6+,同时把VS2019升级到16.11及以上的最新版本。
正确配置步骤
- 不需要安装额外的Nuget包,先确认解决方案的启动项为Server项目,而非Client项目
- 打开VS顶部工具栏调试按钮旁的🔥热重载下拉菜单,勾选以下两个选项:
- 启用热重载
- 调试时启用热重载
- 分别修改Server和Client项目的
Properties/launchSettings.json:- Server项目对应启动配置中添加
"hotReloadProfile": "aspnetcore" - Client项目对应启动配置中添加
"hotReloadProfile": "blazorwasm"
- Server项目对应启动配置中添加
- 若习惯使用命令行启动,直接在解决方案根目录执行
dotnet watch run即可自动启用热重载能力
注意事项
- 存在部分修改场景不支持热重载:例如新增类/成员、修改服务端接口定义、调整命名空间引用等,此时VS会弹出提示要求重启应用,属于正常逻辑
- 如果配置后依然不生效,可以先删除解决方案下所有项目的
bin、obj文件夹,重新生成后再启动即可
内容的提问来源于stack exchange,提问作者T0bi
相关产品推荐
相关产品推荐

