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

.NET Aspire发布后仪表板无法加载,显示未处理错误

.NET Aspire 发布后仪表板无法加载的排查方案

问题概况

本地运行.NET Aspire默认启动应用正常,但发布后访问仪表板加载失败,浏览器控制台报错:

Error: There was an unhandled exception on the current circuit, so this circuit will be terminated. For more details turn on detailed exceptions by setting 'DetailedErrors: true' in 'appSettings.Development.json' or set 'CircuitOptions.DetailedErrors'

第一步:开启详细错误日志定位根因

默认报错信息过于笼统,先开启详细错误输出:

  • 方式1:修改配置文件
    在appSettings.Development.json(生产环境用appSettings.json)中添加:
{
  "DetailedErrors": true
}
  • 方式2:代码配置
    在Program.cs中配置Blazor Circuit选项:
builder.Services.AddServerSideBlazor(options =>
{
    options.DetailedErrors = true;
});

重新发布应用后访问,即可看到具体异常信息,这是解决问题的核心前提。

常见问题及对应解决方法

1. 仪表板依赖服务未正确部署

.NET Aspire仪表板依赖Aspire Dashboard Service,需确认:

  • 部署环境已安装并运行Aspire Dashboard Service,或发布包中包含相关组件
  • 配置文件appsettings.json里的Aspire:Dashboard:Endpoint指向正确的服务地址(本地默认是http://localhost:18888,发布后需根据部署环境调整)

2. 跨域限制导致通信失败

若仪表板与后端服务部署在不同域名/端口,需配置跨域策略:
在Program.cs中添加:

builder.Services.AddCors(options =>
{
    options.AddPolicy("AllowDashboard", policy =>
    {
        policy.WithOrigins("你的仪表板访问域名")
              .AllowAnyHeader()
              .AllowAnyMethod();
    });
});

// 注册中间件时启用跨域
app.UseCors("AllowDashboard");

3. 部署环境配置缺失

  • IIS部署注意:Blazor Server依赖WebSocket通信,需在IIS中启用WebSocket协议
  • 文件权限:确保应用部署目录有读写权限,能正常读取配置、生成日志

4. .NET版本不兼容

确认部署环境安装的.NET Runtime版本与本地开发环境一致,比如.NET Aspire 8.0要求部署环境必须安装.NET 8.0 Runtime

内容的提问来源于stack exchange,提问作者Vivek Nuna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:16:05