C# 应用程序配置修改未反映在代码中
我在appconfig文件中有一个appsetting部分C# 应用程序配置修改未反映在代码中,c#,winforms,app-config,C#,Winforms,App Config,我在appconfig文件中有一个appsetting部分 <appSettings> <add key="DayTime" value="08-20"/> <add key="NightTime" value="20-08"/> </appSettings> 为什么会这样?试试这个: string strDayTime = ConfigurationManager.AppSettings["DayTime"]; Configu
<appSettings>
<add key="DayTime" value="08-20"/>
<add key="NightTime" value="20-08"/>
</appSettings>
为什么会这样?试试这个:
string strDayTime = ConfigurationManager.AppSettings["DayTime"];
ConfigurationManager.AppSettings.Set("DayTime", "11-20");
strDayTime = ConfigurationManager.AppSettings["DayTime"];
strDayTime变量的值在两行上都会更改。请尝试以下操作:
string strDayTime = ConfigurationManager.AppSettings["DayTime"];
ConfigurationManager.AppSettings.Set("DayTime", "11-20");
strDayTime = ConfigurationManager.AppSettings["DayTime"];
strDayTime变量的值在两行上都会更改。app.config会被缓存,这些更改将在重新启动应用程序时反映出来。请参见app.config被缓存,这些更改将在重新启动应用程序时反映出来。请看我有自己的答案。只需刷新
appSettings
部分即可
ConfigurationManager.RefreshSection("appSettings");
我有自己的答案。只需刷新
appSettings
部分即可
ConfigurationManager.RefreshSection("appSettings");
在运行时更新期间,
app.config
文件中的AppSetting部分
未得到反映的原因如下:
- 当您添加一个新的app.config文件时,它实际上会在本地系统中创建一个文件
- 编译它时,实际上它会在
文件夹中创建必要的文件,包括Debug/Release
文件;取决于构建模式.Exe
- 成功构建后,它还会生成一个
文件,看起来像.config
,它在原始app.config文件中保存相同的条目。而YourApplicationName.exe.config
始终引用此文件.Exe
- 因此,每当您在运行时编辑
时,它实际上会更新文件,但在app.config
文件中不会更新更改,因为它尚未重新生成YourApplicationName.exe.config
因此,每次您都需要重新构建应用程序以反映更改。在运行时更新过程中,
app.config
文件中的AppSetting部分
未得到反映的原因如下:
- 当您添加一个新的app.config文件时,它实际上会在本地系统中创建一个文件
- 编译它时,实际上它会在
文件夹中创建必要的文件,包括Debug/Release
文件;取决于构建模式.Exe
- 成功构建后,它还会生成一个
文件,看起来像.config
,它在原始app.config文件中保存相同的条目。而YourApplicationName.exe.config
始终引用此文件.Exe
- 因此,每当您在运行时编辑
时,它实际上会更新文件,但在app.config
文件中不会更新更改,因为它尚未重新生成YourApplicationName.exe.config
因此,每次您需要重新构建应用程序以反映更改。酷,学到了今天的新东西。但我在想什么时候它会有实际的用处。很酷,今天学到了新东西。但我正试图考虑它何时实际有用的场景。@phillyd它只适用于您的应用程序的发布版本。@phillyd它只适用于您的应用程序的发布版本。绞尽脑汁了几个小时……非常感谢!我绞尽脑汁好几个小时了…非常感谢!