C# Dotnet core Console appsettings.json 运行时重新加载

use*_*108 8 c# .net-core

我需要在控制台应用程序运行时更改 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;
    }
Run Code Online (Sandbox Code Playgroud)

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

rfm*_*tor 4

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

如果进行调试,这是构建目录。

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