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

ASP.NET Core多环境下显示开发者异常的实现方法

自定义.NET Core环境名称以显示开发者异常页面

我通过右键发布操作,使用不同发布配置文件将.NET Core Razor应用部署到远程IIS服务器,但只有当发布配置文件的<PropertyGroup>节点内EnvironmentName设为Development时,才能查看开发者异常详情。否则会显示如下提示:

Development Mode
Swapping to the Development environment displays detailed information about the error that occurred.

The Development environment shouldn't be enabled for deployed applications. It can result in displaying sensitive information from exceptions to end users. For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development and restarting the app.

想实现自定义环境名称(比如Azure_dev)时仍能显示开发者异常,同时正常使用对应多配置文件(如appsettings.Azure_dev.json)。之前了解过env.IsDevelopment(),但不清楚其用法及适用文件。


解决方案

1. 在appsettings.json中配置有效开发环境列表

在项目的appsettings.json中添加自定义配置节点,用分号分隔多个需要启用开发者异常页面的环境名称:

{
  // 其他配置内容...
  "Deploy_Settings": {
    "Dev_Environments": "Development;Azure_Dev"
  }
}

2. 在Program.cs中校验当前环境并启用开发者异常页面

在Program.cs的应用构建流程中,读取配置里的环境列表,判断当前运行环境是否属于该列表,若是则启用开发者异常页面:

// 读取配置中的开发环境列表
List<string> listDevEnvs = new List<string>(configuration.GetSection("Deploy_Settings")["Dev_Environments"].Split(new char[] { ';' }));
string CurrEnvName = app.Environment.EnvironmentName;

// 让自定义开发环境也能显示开发者异常详情
if (listDevEnvs.Contains(CurrEnvName))
{
    app.UseDeveloperExceptionPage();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:35:25