Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 是否在ASP.NET Core 1.0中发布后修改appsettings.Production.json文件?_Asp.net Mvc_Asp.net Core_Asp.net Core Mvc_Asp.net Core 1.0 - Fatal编程技术网

Asp.net mvc 是否在ASP.NET Core 1.0中发布后修改appsettings.Production.json文件?

Asp.net mvc 是否在ASP.NET Core 1.0中发布后修改appsettings.Production.json文件?,asp.net-mvc,asp.net-core,asp.net-core-mvc,asp.net-core-1.0,Asp.net Mvc,Asp.net Core,Asp.net Core Mvc,Asp.net Core 1.0,我有一个非常直截了当的问题 在我的project.json文件中,我在发布部分的“appsettings.json”后面包含了“appsettings.Production.json”。这非常有效,产品将按预期覆盖原始值 但是,我的问题是:在使用文本编辑器发布项目之后,我是否能够修改生产json文件?很明显,我试过这样做,但没有成功,所以也许我遗漏了什么?或者,如果我想对任何json文件进行任何更改,我必须重新发布整个项目吗?有一个reloadOnChange参数可以实现这一点 var buil

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

在我的project.json文件中,我在发布部分的“appsettings.json”后面包含了“appsettings.Production.json”。这非常有效,产品将按预期覆盖原始值


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

有一个
reloadOnChange
参数可以实现这一点

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

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

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


但另外,您还需要将代码更改为在注入选项的位置使用
IOptionsMonitor
接口,而不是
IOptions
(请参阅),否则您会注意到,新值尚未应用。阅读更多信息。

是的,这是为我做的!我按照@rook所说的做了,认为它会起作用,我想知道为什么它不会起作用。不知道会有额外的步骤。谢谢哇-真的很惊讶这是多么复杂!!见上面的答案。还有很多事要做。