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

ASP.NET Core 5应用部署本地IIS后出现开发模式错误的排查求助

问题排查与解决方案

从你提供的配置来看,有几个关键点可能导致你遇到的问题,咱们一步步来梳理:

1. IIS环境下的环境变量配置未生效

你提到已经设置了Development环境变量,但要注意:launchSettings.json里的环境变量只在本地开发(比如IIS Express调试)时生效,部署到正式IIS后,这个文件的配置不会被读取。你需要在IIS层面或者部署后的web.config中配置环境变量:

方法一:在IIS管理器中设置

  • 打开IIS管理器,找到你的my.website站点
  • 右键选择【配置编辑器】,在【节】下拉框中选中system.webServer/aspNetCore
  • 找到environmentVariables项,点击右侧省略号,添加键为ASPNETCORE_ENVIRONMENT、值为Development的变量
  • 保存配置后重启站点

方法二:修改部署后的web.config

在站点根目录的web.config中,找到<aspNetCore>节点,添加环境变量配置:

<aspNetCore processPath="dotnet" arguments=".\AutoPatchManagement.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
  </environmentVariables>
</aspNetCore>

2. API路由配置缺失

你的API访问路径是http://my.website/api/controllersapi,但当前Startup.cs的端点配置里只有MVC的默认路由,没有专门为API控制器启用属性路由支持:

修改Startup.cs的Configure方法

在UseEndpoints中添加MapControllers(),这样API控制器上的路由特性就能生效:

app.UseEndpoints(endpoints => {
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Homepage}/{id?}");
    endpoints.MapHub<MyHub>("/myHub");
    // 新增这行,启用API控制器的属性路由
    endpoints.MapControllers();
});

同时,确保你的API控制器上添加了正确的特性标记,比如:

[ApiController]
[Route("api/[controller]")]
public class ControllersApiController : ControllerBase
{
    // 示例接口
    [HttpGet]
    public IActionResult Get()
    {
        return Ok("API请求成功");
    }
}

这样访问http://my.website/api/controllersapi就能正确匹配到控制器的接口了。

3. 额外验证点

  • 确认部署到IIS的站点目录中存在appsettings.Development.json(如果你的开发环境依赖这个配置文件),且文件内容正确
  • 检查appsettings.json中的AutoPatchManagementContext连接字符串,确保开发环境下数据库是可访问的(数据库连接错误也会触发开发模式的异常页面)
  • 重启IIS站点后,用浏览器开发者工具查看API请求的状态码和响应详情,能帮你快速定位具体错误(比如404路由未找到、500服务器内部错误等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 01:22:34