app.Environment.IsDevelopment()
是 ASP.NET Core 里**判断当前运行环境是否为“开发环境”**的快捷 API。-
返回值:bool
-
true
→ 现在是 Development(开发) -
false
→ 其他(Staging、Production 或自定义名称)
-
1. 底层原理
框架读取主机配置键:
"ASPNETCORE_ENVIRONMENT" / "DOTNET_ENVIRONMENT"
若值为
"Development"
(大小写无关),则 IsDevelopment()
返回 true
。2. 常见用法
var app = builder.Build();if (app.Environment.IsDevelopment())
{app.UseDeveloperExceptionPage(); // 详细错误页app.UseWebAssemblyDebugging(); // Blazor WASM 调试
}
else
{app.UseExceptionHandler("/Error"); // 生产友好错误页app.UseHsts(); // 强制 HTTPS
}
3. 设置方式
表格
平台 | 设置位置 |
---|---|
Windows | setx ASPNETCORE_ENVIRONMENT Development |
Linux/mac | export ASPNETCORE_ENVIRONMENT=Development |
VS / VS Code | launchSettings.json ➜ "environmentVariables" |
Docker | ENV ASPNETCORE_ENVIRONMENT=Development |
4. 扩展方法族
csharp
app.Environment.IsDevelopment()
app.Environment.IsStaging()
app.Environment.IsProduction()
app.Environment.IsEnvironment("Testing") // 自定义
一句话总结
“一行代码判断当前是不是开发环境,用来开关调试页、详细日志、Swagger 等只应在开发阶段启用的功能。”
app.Environment.IsDevelopment()
就是:“一行代码判断当前是不是开发环境,用来开关调试页、详细日志、Swagger 等只应在开发阶段启用的功能。”