C# Dotnet 核心控制台 appsettings.json 运行时重新加载

C# Dotnet core Console appsettings.json runtime reload

我需要在控制台应用 运行 时更改 appsettings.json。 我用来加载 appsettings.json 的代码仅在启动时加载 appsettings.json,一旦应用程序 运行,它就不会刷新。有人可以帮我解决这个问题吗?

public IConfigurationRoot GetAppssetingsConfig()
    {
        
        var builder = new ConfigurationBuilder()
                       .SetBasePath(Directory.GetCurrentDirectory())
                       .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                       .AddEnvironmentVariables();

        IConfigurationRoot configuration = builder.Build();
        configuration.Reload();

        return configuration;
    }

我期望的是,每次调用上述函数时,它都会读取 appsettings.json,但是这并没有发生。 感谢帮助

试试这个

public IConfiguration GetAppssetingsConfig()
{
 return new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .AddEnvironmentVariables()
            .Build();
 }

配置正在监视(通过reloadOnChange: true)当前工作目录中的appsettings.json文件(通过Directory.GetCurrentDirectory())。

这是构建目录,如果调试的话。

对项目 appsettings.json 文件(“主”副本)的编辑不会在调试时反映出来。相反,在构建目录中编辑副本。