VS2022预览3.1下Blazor WASM 6.0预览7启动报_configuration加载错误
问题成因
- 该问题是.NET 6 Preview 7版本Blazor WASM项目模板的已知bug,和你安装的The Essentials扩展没有关联
- 核心触发原因有两个:
- 启用ASP.NET Hosted + 个人用户账户验证选项后,Server项目默认没有正确注册客户端配置暴露服务,导致
/_configuration/[客户端程序集名]端点无法正常访问 - 同时开启PWA选项后,预览版自带的Service Worker会拦截该配置端点的请求,进一步阻断配置加载流程
- 启用ASP.NET Hosted + 个人用户账户验证选项后,Server项目默认没有正确注册客户端配置暴露服务,导致
- 日志中附带的Cookie提示属于本地开发环境的跨协议兼容提示,不影响项目核心功能,无需单独处理
解决方案
方案1:修复Server端配置注册(推荐,适配当前预览版环境)
打开Server项目的Program.cs文件,在var app = builder.Build();代码行之前添加如下配置:
builder.Services.AddIdentityServer() .AddApiAuthorization<IdentityUser, ApplicationDbContext>(options => { // 此处替换为你自己的Client项目实际程序集名称 options.Clients["Wtf.Client"].Profile = "IdentityServerSPA"; });
添加后重新生成运行项目即可解决配置加载失败问题。
方案2:开发阶段临时禁用PWA Service Worker
如果暂时不需要调试PWA功能,可以注释掉Client项目wwwroot/index.html中的Service Worker注册代码,规避缓存拦截问题:
<!-- 注释掉该行即可 --> <!-- <script>navigator.serviceWorker.register('service-worker.js');</script> -->
方案3:升级到正式版.NET环境
该bug在.NET 6正式发布版本已经完成修复,你可以将Visual Studio 2022升级到正式版,同时将项目框架版本升级到.NET 6正式版或更高版本,无需手动修改配置即可解决该问题。
内容的提问来源于stack exchange,提问作者MikeT
相关产品推荐
相关产品推荐

