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

Angular应用部署Azure App Service时遇dwasmod.dll加载失败问题

问题分析与解决方案

核心问题定位

启用WEBSITE_RUN_FROM_PACKAGE = 1后出现的500错误,结合Kudu日志中ZipFS组件报出的Failed to load dwasmod.dll,问题根源集中在Run From Package模式的zip包结构合规性,或是Azure App Service的ZipFS组件加载异常上。


解决方案1:验证Zip包结构是否符合要求

当使用WEBSITE_RUN_FROM_PACKAGE = 1时,Azure要求zip包的根目录必须直接包含网站所有核心文件(如index.html、web.config、assets文件夹等),不能存在嵌套的根文件夹。

检查你的构建流水线输出:

  • 当前ArchiveFiles@2任务设置了includeRootFolder: false,理论上会将dist/browser下的文件直接打包到zip根目录,但建议手动下载构建生成的deployment.zip确认结构:
    • 正确结构:zip根目录直接可见index.html、web.config、static等内容
    • 错误结构:zip根目录下只有一个browser文件夹,所有部署内容嵌套在其中

若结构错误,调整ArchiveFiles@2的rootFolderOrFile参数,确保指向包含所有部署文件的最终目录。

解决方案2:重置WEBSITE_RUN_FROM_PACKAGE配置

dwasmod.dll加载失败可能源于配置缓存或临时文件权限问题,尝试重置该配置:

  1. 进入Azure Portal的App Service → 配置 → 应用程序设置
  2. 将WEBSITE_RUN_FROM_PACKAGE的值改为0,保存并重启App Service
  3. 重启完成后,再改回1,再次保存并重启

解决方案3:切换常规部署方式(绕过Run From Package)

若上述方案无效,可暂时关闭Run From Package模式,改用常规部署:

  1. 删除WEBSITE_RUN_FROM_PACKAGE环境变量,或设为0
  2. 修改Azure DevOps流水线的AzureWebApp@1任务,直接部署文件夹而非zip包:
    将package参数修改为:
    package: '$(Pipeline.Workspace)/drop'
    
    (需同步调整构建步骤,确保发布的是dist/browser文件夹而非zip包,或对应修改下载后的路径)

解决方案4:检查web.config配置

Angular单页应用需要正确的URL重写规则,避免路由导致的500错误,确保你的web.config包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Angular Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

解决方案5:检查App Service运行时兼容性

若为Windows App Service运行时版本过低导致的dwasmod.dll兼容性问题:

  1. 进入App Service → 配置 → 常规设置
  2. 确认Node.js版本与构建时使用的Node 22.x大版本匹配
  3. 尝试升级App Service的堆栈版本(如从Windows Server 2019升级到2022)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:25:56