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

Blazor WebAssembly Hosted部署IIS仅API正常 根路径访问返回404

故障根因分析

从日志可以确认:API路由正常,非文件请求命中了Fallback兜底路由,但服务器返回404,本质是兜底逻辑找不到指定的index.html文件。

排查和解决步骤

  • 确认发布操作正确性
    Hosted部署模型必须右键Server项目执行发布,不能单独发布Client或Server项目。发布完成后检查C:\Temp\Project\publish\wwwroot路径下是否存在index.html、_framework文件夹等Blazor WASM的编译输出文件,缺失则说明发布时未包含Client项目内容。
  • 检查项目引用配置
    打开Server项目的.csproj文件,确认对Client项目的引用没有配置PrivateAssets="all",正确的引用格式参考:
    <ProjectReference Include="..\Project.Web.Client\Project.Web.Client.csproj" />
    
    加了PrivateAssets限制会导致发布时忽略Client项目的输出内容。
  • 验证IIS权限配置
    给C:\Temp\Project\publish\wwwroot文件夹添加IIS_IUSRS用户组的读取与执行权限,权限不足会导致静态文件中间件无法读取文件返回404。
  • 确认IIS站点物理路径配置
    IIS站点的物理路径必须指向C:\Temp\Project\publish(Server发布的根目录),不能指向publish\wwwroot目录,否则Server的API路由会失效。
  • 兜底验证
    上述配置完成后,直接访问https://localhost:5001/index.html测试是否能正常打开,如果可以访问但根路径还是404,可将Startup中的兜底路由配置改为:
    endpoints.MapFallbackToFile("index.html");
    
    省略路径匹配参数即可覆盖所有非文件请求的兜底逻辑。

内容的提问来源于stack exchange,提问作者ka-hn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:54:04