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

开发期间将Blazor WASM部署到本地IIS遇问题求助

问题排查与解决方案

1. 必须安装ASP.NET Core托管模块(ANCM)

你遇到的403.14错误核心原因是IIS无法将请求转发给ASP.NET Core应用,这说明ASP.NET Core托管模块(ANCM)未正确安装:

  • 打开「控制面板」→「程序和功能」→「启用或关闭Windows功能」,展开「Internet Information Services」→「万维网服务」→「应用程序开发功能」,勾选对应你项目.NET版本的「ASP.NET Core」选项,确认后重启IIS。
  • 若找不到该选项,直接下载对应版本的.NET SDK安装包,重新安装时会自动配置ANCM模块。

2. 修正IIS网站的物理路径

你当前设置的物理路径是源代码目录,这是错误的——开发阶段用本地IIS调试,IIS必须指向项目构建后的输出目录:

  • 打开IIS管理器,找到你的localhost网站,右键进入「高级设置」,将「物理路径」修改为项目的Debug输出目录,比如C:\Users\xxx\source\repos\BlazorAppIIS\BlazorAppIIS\Server\bin\Debug\net7.0(替换net7.0为你的项目实际.NET版本)。
  • 也可以在VS的FULL IIS调试配置中,让VS自动管理物理路径,避免手动指定错误。

3. 调整应用池身份与目录权限

  • 应用池身份:将网站对应的应用池身份改为「LocalSystem」或者你的个人Windows用户账户(开发阶段用高权限身份避免权限问题),不要用默认的ApplicationPoolIdentity,它对用户目录的权限不足。
  • 目录权限:给构建输出目录添加「IIS AppPool\你的应用池名称」的读写权限,而非仅添加IUSR——ANCM是通过应用池身份访问文件的,IUSR仅负责匿名请求的身份验证,不参与应用托管。

4. 完善launchSettings.json配置

你的配置缺少关键关联项,修正后如下:

{
  "profiles": {
    // 保留原有IIS Express等配置
    "IIS": {
      "commandName": "IIS",
      "launchBrowser": true,
      "launchUrl": "http://localhost:49726",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:49726"
    }
  },
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iis": {
      "applicationUrl": "http://localhost:49726",
      "sslPort": 0
    }
  }
}

确保IIS配置下的applicationUrl与IIS网站绑定的端口完全一致,让VS调试时能正确关联到目标IIS站点。

5. 禁用目录浏览并确认web.config存在

  • 禁用之前开启的目录浏览,403.14错误的本质是IIS既找不到默认文档,又没有ANCM处理请求。
  • 确认构建输出目录下存在web.config文件,这是VS构建时自动生成的,里面包含了ANCM的转发规则,会让IIS把所有请求交给ASP.NET Core应用处理。如果该文件缺失,重新构建项目即可生成。

6. 坚持以管理员身份启动VS

本地IIS调试必须以管理员身份运行VS,否则VS无法向IIS部署构建文件或修改站点配置,这是硬性要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:30:57