在ASP.NET Core 1.0中发布后修改appsettings.Production.json文件?

时间:2016-09-26 18:00:26

标签: asp.net-mvc asp.net-core asp.net-core-mvc asp.net-core-1.0

我有一个非常直截了当的问题。

在我的project.json文件中,我包含了" appsettings.Production.json"在" appsettings.json"在发布部分。这很有效,制作会按预期覆盖原始值。

但是,我的问题是:在使用文本编辑器发布项目之后,我能够修改生产json文件吗?我显然试过这样做而且它没有用,所以也许我有什么东西不见了?或者,如果我想对任何json文件进行任何更改,我是否必须重新发布整个项目?

2 个答案:

答案 0 :(得分:7)

正如@rook所写,第一步是启用reloadOnChange

  

Documentation:将文件指定为配置源时,您可以选择指定对文件的更改是否会导致重新加载设置。这是通过在调用AddJsonFile或类似的基于文件的扩展方法时传递reloadOnChange参数的true值来配置的。

但另外,您还需要更改代码以在注入选项的位置使用IOptionsMonitor<>接口而不是IOptions<>(请参阅Options Pattern),否则您会注意到,新的值尚未应用。在此post中阅读更多内容。

答案 1 :(得分:3)

有一个reloadOnChange参数应该可以解决问题。

var builder = new ConfigurationBuilder()
.AddJsonFile($"appsettings.{env.EnvironmentName}.json",
 optional: false,
 reloadOnChange: true
);