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

Angular 19部署至IIS 10遇加载问题及program.cs未执行求助

解决方案:Angular 19 + .NET 后端部署IIS 10问题排查

一、解决program.cs未执行的后端部署问题

  • 检查应用程序池配置:确保站点对应的应用程序池,.NET CLR版本设置为无托管代码(针对.NET Core/.NET 5+项目),托管管道模式设为集成。
  • 验证站点物理路径:IIS站点必须指向.NET项目的完整发布根目录,不能仅指向wwwroot文件夹——program.cs属于后端逻辑,需要整个.NET发布包被IIS加载才能执行。
  • 确认服务器.NET运行时:在服务器终端执行dotnet --list-runtimes,检查是否安装了与项目匹配的.NET运行时版本,缺失则下载对应版本安装。
  • 查看错误日志:通过C:\inetpub\logs\LogFiles下的IIS日志,或Windows事件查看器的应用程序日志,定位program.cs未执行的具体错误信息。

二、修复Angular资源404错误

  • 重新构建Angular项目:部署前执行生产构建命令,注意指定与IIS站点名匹配的base-href:
ng build --configuration production --base-href /Condo_QA/
  • 检查资源目录结构:构建后的Angular文件需直接放在wwwroot根目录,不能嵌套子文件夹,确保main.<hash>.js、polyfills.<hash>.js等文件路径与Index.html中的引用完全对应。
  • 配置IIS URL重写规则:在站点根目录创建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="/Condo_QA/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
  • 配置文件夹权限:右键wwwroot文件夹→属性→安全,添加IIS_IUSRS和IUSR用户,授予读取权限。
  • 验证Index.html引用:确保所有js、css资源使用相对路径,或与base-href匹配的路径,例如<script src="main.<hash>.js"></script>。

三、额外排查步骤

  • 强制刷新浏览器:按Ctrl+F5清除缓存,避免加载旧的资源路径。
  • 测试后端接口:直接访问后端API地址(如https://你的服务器地址/Condo_QA/api/接口名),确认后端服务是否正常响应。
  • 检查IIS模块:确保服务器已安装URL重写模块,缺失则通过Web平台安装器下载安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 03:04:58