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

在.NET 8中共享RCL页面时Blazor Server应用遇404问题求助

解决方案:Blazor Server加载RCL页面404问题

核心原因

Blazor Server默认不会自动扫描Razor类库(RCL)中的路由页面,需要显式配置路由扫描规则;而MAUI Blazor因项目结构特性,默认已支持识别RCL内的页面路由。

具体修复步骤

1. 配置Blazor Server的路由扫描程序集

在Blazor Server项目的Program.cs中,修改Blazor路由配置,添加对RCL程序集的扫描:

app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
// 新增该行,指定扫描RCL的程序集
app.MapRazorComponents<App>()
    .AddAdditionalAssemblies(typeof(CommonUI.Pages.Weather).Assembly);

注意:将CommonUI.Pages.Weather替换为你RCL中实际页面的类型,确保能正确定位到RCL程序集。

2. 验证命名空间导入

确认Blazor Server项目的_Imports.razor已添加RCL页面所在的命名空间:

@using CommonUI.Pages

3. 检查导航路由地址

确保Blazor Server中指向天气页面的导航链接与RCL页面定义的路由一致,比如RCL中Weather页面的路由为@page "/weather",则导航链接应写为:

<NavLink href="weather" Match="NavLinkMatch.All">Weather</NavLink>

4. 清理重建解决方案

  • 右键解决方案 → 清理解决方案
  • 右键解决方案 → 重建解决方案
  • 重启Blazor Server应用后重新测试页面访问

额外检查点

  • 确认RCL项目的输出类型为类库,未被误修改为其他类型
  • 检查Blazor Server对RCL的引用为项目引用,而非文件引用
  • 查看浏览器控制台是否有路由相关报错,辅助定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 14:38:13