.NET 9 MAUI Blazor非共享Web页面浏览器显示异常,如何解决?
解决.NET 9 MAUI Blazor Web项目独立页面显示后404的问题
问题原因
你遇到的问题是因为Web项目的路由系统没有扫描到仅存于Web项目中的Test页面,导致初始渲染后路由校验失败跳转404;而Shared目录下的页面会被默认加入路由扫描范围,所以能正常显示。
修复步骤
修改Web项目的
App.razor路由配置
打开Web项目根目录下的App.razor文件,找到<Router>组件,将Web项目的程序集添加到AdditionalAssemblies参数中,让路由系统扫描Web项目内的页面:<Router AppAssembly="@typeof(App).Assembly" AdditionalAssemblies="new[] { typeof(Shared._Imports).Assembly, typeof(Web.Pages.Test).Assembly }"> <!-- 原有内容保持不变 --> </Router>或者用更通用的方式直接引用Web项目程序集:
<Router AppAssembly="@typeof(App).Assembly" AdditionalAssemblies="new[] { typeof(Shared._Imports).Assembly, typeof(Web.Program).Assembly }"> <!-- 原有内容保持不变 --> </Router>确认
Test.razor的路由属性正确
打开Web项目中Pages/Test.razor页面,确保顶部的路由指令无误:@page "/test" <h3>Test Page</h3>清理并重建项目
- 在Visual Studio中右键解决方案,选择清理解决方案
- 删除Web项目和MAUI项目下的
bin、obj文件夹 - 右键解决方案选择重新生成解决方案
验证页面访问
将Web项目设为启动项目,运行后访问/test路径,页面即可正常保持显示,不会再跳转404。
内容的提问来源于stack exchange,提问作者Greg Gum
相关产品推荐
相关产品推荐

