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

Blazor项目升级至.Net 6后出现找不到/_Host回退端点的InvalidOperationException错误

.NET6升级后_Host fallback端点报错排查修复方案

排查步骤

  • 检查Program.cs中间件配置顺序,确认路由、认证、端点映射的顺序符合.NET6的要求
  • 检查Pages/_Host.cshtml的物理路径是否正确,是否被移动到Area目录或其他子文件夹下
  • 检查_Host.cshtml首行的@page指令是否存在拼写错误、多余前缀
  • 检查_Host.cshtml的文件属性,确认生成操作设置为「内容」、复制到输出目录规则配置正确
  • 检查_Host.cshtml.cs的PageModel命名空间是否正确,是否存在编译错误
  • 检查项目.csproj配置,确认Sdk为Microsoft.NET.Sdk.Web、TargetFramework为net6.0,无低版本AspNetCore冗余包引用

修复方案

1. 修正Program.cs端点配置

.NET6 Blazor Server应用的默认管道配置如下,确保MapFallbackToPage的路径参数和_Host文件的实际路径匹配,无Area场景不需要指定area参数:

var builder = WebApplication.CreateBuilder(args);

// 服务注册
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
// 此处添加你的自定义服务注册逻辑

var app = builder.Build();

// 中间件管道
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();

app.MapBlazorHub();
app.MapFallbackToPage("/_Host");

app.Run();

2. 修正_Host文件配置

  • 确保_Host.cshtml存放在项目根目录的Pages文件夹下,无自定义Area场景不要移动到其他目录
  • 首行@page指令修正为@page "/"
  • 右键文件选择「属性」,设置:
    • 生成操作:内容
    • 复制到输出目录:如果较新则复制

3. Area场景适配

如果你的_Host.cshtml存放在自定义Area下,需要修改fallback配置指定area参数:

app.MapFallbackToPage("/你的Area名/Pages/_Host", new { area = "你的Area名" });

4. 清理旧版本残留配置

  • 删除升级前遗留的Startup.cs、Program.cs老版本入口代码
  • 清理.csproj中所有版本低于6.0的Microsoft.AspNetCore.*相关包引用,.NET6已将这些组件内置到框架中,不需要手动引用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:18:02