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

Blazor WASM无index.html,开发正常但发布后仅显示文件列表

解决Blazor WASM发布后显示文件列表的问题
  • 先找index.html:它就在项目的wwwroot目录下,开发模式下IDE可能默认折叠了wwwroot,展开就能看到。发布后这个文件会被复制到输出目录的wwwroot文件夹里,不会丢失。

  • 发布后显示文件列表的核心原因:服务器没把index.html设为默认文档,也没配置SPA路由 fallback(Blazor是单页应用,所有路由请求都得指向index.html)。

  • 具体解决步骤:

    1. 用dotnet serve启动发布后的项目时,得加参数指定默认文档和fallback:
      dotnet serve --directory wwwroot --default-files index.html --spa-fallback index.html
      
    2. 要是部署到其他服务器(比如IIS、Nginx):
      • IIS:在站点配置里把index.html添加到默认文档列表,确保安装ASP.NET Core模块,发布生成的web.config一般已包含SPA fallback规则,若缺失可手动补充。
      • Nginx:在server块里设置index index.html;,再加一条try_files $uri $uri/ /index.html;路由规则。
    3. 检查项目配置:打开.csproj文件,确认有类似<Content Include="wwwroot\index.html" />的配置(默认项目都自带,若误删可手动添加),保证发布时该文件会被复制到输出目录。
  • 额外提醒:开发模式下dotnet run会自动处理默认文档和SPA路由,所以能正常运行,但发布后需要手动配置服务器的这些规则,否则就会显示文件目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 17:07:07