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 文件(“主”副本)的编辑不会在调试时反映出来。相反,在构建目录中编辑副本。
我需要在控制台应用 运行 时更改 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 文件(“主”副本)的编辑不会在调试时反映出来。相反,在构建目录中编辑副本。