You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 8 Blazor WebAssembly客户端program.cs未执行问题求助

.NET 8 Blazor WASM Program.cs 代码不执行问题的解决

问题根源

.NET 8 给 Blazor WebAssembly 默认启用了自动启动机制,直接跳过了传统Program.cs里的手动启动流程,导致你写的依赖注入注册、配置代码根本没机会运行,自然会出现服务注入失败的崩溃问题——不管是迁移项目还是新建项目,只要没适配这个变更都会踩坑。

解决步骤

  • 第一步:关闭自动启动
    打开wwwroot/index.html,找到Blazor的脚本标签,加上autostart="false"属性:

    <script src="_framework/blazor.webassembly.js" autostart="false"></script>
    
  • 第二步:手动触发启动
    在刚才的脚本后面,加一段手动启动的JS代码:

    <script>
      Blazor.start();
    </script>
    
  • 第三步:确认Program.cs的写法
    保证你的Program.cs保留标准的启动逻辑,比如:

    var builder = WebAssemblyHostBuilder.CreateDefault(args);
    builder.RootComponents.Add<App>("#app");
    builder.RootComponents.Add<HeadOutlet>("head::after");
    
    // 注册自定义服务
    builder.Services.AddScoped<AppService>();
    
    await builder.Build().RunAsync();
    

做完以上修改后重新编译运行,Program.cs里的代码就会正常执行,Counter页面的服务注入也能正常工作了。

内容的提问来源于stack exchange,提问作者Simon Bailey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 20:47:33