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

已注释AddJsonFile,.NET 7 API仍加载appsettings.json问题排查

问题原因与解决方案

问题原因

ASP.NET Core(包括.NET 7)中,WebApplication.CreateBuilder(args) 会自动注册一系列默认配置源,其中就包含 appsettings.json 和 appsettings.{ASPNETCORE_ENVIRONMENT}.json 文件。即使你手动构建了 ConfigurationBuilder 并注释了 .AddJsonFile,如果后续创建 WebApplication 时没有覆盖默认配置逻辑,这些JSON配置文件依然会被自动加载,导致你的配置仍然包含JSON文件中的内容。

你的代码中只是单独构建了一个配置实例,但如果没有将这个实例替换到Web应用的配置体系中,应用还是会使用默认的配置源(包括JSON文件)。

解决方案

你需要修改代码,确保应用完全使用Azure App Configuration作为配置源,移除默认的JSON配置加载逻辑,有两种可行方式:

方式1:替换Web应用的配置为自定义构建的实例

直接将你手动构建的配置实例替换到 WebApplicationBuilder 的配置集合中,同时清除默认的配置源:

public static void Main(string[] args)
{
    var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
    // 构建自定义配置(仅包含Azure App Configuration)
    var customConfig = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddAzureAppConfiguration()
        .Build();

    // 创建Web应用构建器
    var builder = WebApplication.CreateBuilder(args);
    
    // 清除所有默认配置源
    builder.Configuration.Clear();
    // 添加自定义配置
    builder.Configuration.AddConfiguration(customConfig);

    // 后续的服务注册、中间件配置等逻辑
    // ...

    var app = builder.Build();
    // ...
    app.Run();
}

方式2:移除默认配置源中的JSON文件加载项

在 WebApplicationBuilder 创建后,直接移除所有JSON类型的配置源,再添加Azure App Configuration:

public static void Main(string[] args)
{
    var builder = WebApplication.CreateBuilder(args);
    
    // 移除所有JSON配置源(包括appsettings.json和环境特定的JSON文件)
    builder.Configuration.Sources.RemoveWhere(source => source is JsonConfigurationSource);
    
    // 添加Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration();

    // 后续逻辑
    // ...

    var app = builder.Build();
    // ...
    app.Run();
}

验证方法

修改代码后重新部署到Azure App Service,不需要删除site/wwwroot下的appsettings.json,直接重启应用服务,此时应用应该无法获取JSON文件中的配置,若Azure App Configuration中缺少必要配置,会触发预期的错误,说明默认JSON配置已被禁用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:30:16