.NET Core 6.0如何让localhost使用appsettings.Development.json配置
解决.NET Core 6中Development环境未加载appsettings.Development.json的问题
以下是排查和解决的具体步骤:
确认配置加载逻辑正确性
.NET Core 6默认会自动加载appsettings.json和对应环境的配置文件,但如果手动修改过Program.cs的配置代码,需确保包含环境特定配置的加载逻辑:var builder = WebApplication.CreateBuilder(args); // 显式配置加载(若默认逻辑被修改时使用) builder.Configuration .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables();默认模板生成的代码无需额外添加上述代码,但如果之前有改动,需检查是否遗漏了环境配置文件的加载。
验证环境变量是否真正生效
即使launchSettings.json中设置了ASPNETCORE_ENVIRONMENT=Development,也可能被系统环境变量覆盖。可在Program.cs中添加控制台输出确认当前环境:Console.WriteLine($"当前运行环境: {builder.Environment.EnvironmentName}");启动应用后查看控制台输出,若显示不是
Development,需检查系统环境变量中是否存在同名变量,如有则修改或删除。检查appsettings.Development.json的格式与键名
- 确保该文件的JSON格式无语法错误(如逗号遗漏、括号不匹配),格式错误会导致.NET忽略整个配置文件。
- 确认数据库连接字符串的键名与
appsettings.json完全一致,例如两者都使用ConnectionStrings:MyDb,键名不匹配会导致无法读取对应环境的配置值。
确保配置文件被正确复制到输出目录
右键项目 → 属性 → 生成 → 输出,将appsettings.Development.json的“复制到输出目录”设置为如果较新则复制或始终复制。之后清理项目(右键 → 清理)并重建,确保文件被同步到bin目录。确认启动配置选中正确
在Visual Studio的启动配置下拉框中,确保选中的是launchSettings.json中配置的两个启动项之一,避免因选中其他配置导致环境变量未生效。
内容的提问来源于stack exchange,提问作者nickornotto
相关产品推荐
相关产品推荐

