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

Blazor WebAssembly发布Azure遇dotnet.js缺失及MIME类型错误求助

Blazor WebAssembly发布到Azure出现dotnet.js加载失败的解决办法

问题核心

发布到Azure后,dotnet.js文件缺失或请求返回text/html类型,导致模块加载失败;本地运行正常,新建项目也出现相同问题,说明问题大概率出在Azure配置或发布流程上。

排查与解决步骤

1. 核对Azure运行时版本

  • 登录Azure门户,打开目标App Service,进入设置>配置>常规设置,确认.NET运行时版本和项目使用的版本完全匹配(比如项目用.NET 8,Azure也要选对应版本的ASP.NET Core Runtime)
  • 如果是静态Web Apps,检查构建预设是否选择了Blazor相关选项

2. 确保发布时文件完整上传

  • 在Visual Studio的发布配置里,勾选删除目标上的额外文件,重新发布,避免旧文件残留干扰
  • 用Kudu工具(访问https://<你的应用名>.scm.azurewebsites.net)进入Debug console > CMD,查看site/wwwroot/_framework目录下是否存在dotnet.js。如果未找到,直接从本地发布输出目录(一般在bin/Release/netX/publish/wwwroot/_framework)手动上传该文件及整个_framework文件夹

3. 修复MIME类型配置

  • 如果Kudu中存在dotnet.js但访问返回text/html,说明MIME类型配置错误。在项目根目录添加web.config文件,内容如下:
<configuration>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".js" />
      <mimeMap fileExtension=".js" mimeType="application/javascript" />
      <remove fileExtension=".wasm" />
      <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
      <remove fileExtension=".json" />
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
</configuration>
  • 重新发布项目,确保web.config上传到Azure的wwwroot目录

4. 清除Azure端缓存并重启服务

  • 在App Service的概述页面,点击重启按钮,彻底重启应用
  • 如果使用了CDN或Azure Front Door,手动清除对应资源的缓存

5. 检查部署槽(若使用)

  • 若项目使用部署槽,确认槽的配置与生产槽一致,交换槽时未出现文件丢失情况
  • 可尝试直接发布到生产槽,跳过部署槽测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:57:41