c# - Why the program generate a new configuration file? -
i changing configuration file in visual studio,the program language c#,and enviroment .net framework 4.0+windows 7.this code:
#region change configuration file /// <summary> /// /// </summary> /// <param name="createdtime"></param> [testcase("2015-06-12 14:37:59")] public void changeconfiguration(string createdtime) { string str = system.environment.currentdirectory+@"\app.config"; string appdomainconfigfile = appdomain.currentdomain.setupinformation.configurationfile; configuration config = configurationmanager.openexeconfiguration(str); appsettingssection appsettings = (appsettingssection)config.getsection("appsettings"); appsettings.settings.remove("querytime"); appsettings.settings.add("querytime", createdtime); config.save(); configurationmanager.refreshsection("configuration"); } #endregion
and program generate new configuration file named:app.config.config
.how being?i want modify querytime in original file.
ps:this app.config:
<?xml version="1.0" encoding="utf-8"?> <configuration> <appsettings> <add key="interval" value="5"/> <add key="querytime" value="2015-06-10 14:37:59"/> <add key="_timerinterval" value="5000"/> </appsettings> </configuration>
this because openexeconfiguration
takes exe
name input , automatically looks config file name exe.config
(this default format). -
// configuration file. file name has // format appname.exe.config. system.configuration.configuration config = configurationmanager.openexeconfiguration(exepath);
you can check sample code here - https://msdn.microsoft.com/en-us/library/ms224437(v=vs.110).aspx
so in case remove .config
@ end of file name -
#region change configuration file /// <summary> /// /// </summary> /// <param name="createdtime"></param> [testcase("2015-06-12 14:37:59")] public void changeconfiguration(string createdtime) { string str = system.environment.currentdirectory+@"\app"; //remove .config string appdomainconfigfile = appdomain.currentdomain.setupinformation.configurationfile; configuration config = configurationmanager.openexeconfiguration(str); appsettingssection appsettings = (appsettingssection)config.getsection("appsettings"); appsettings.settings.remove("querytime"); appsettings.settings.add("querytime", createdtime); config.save(); configurationmanager.refreshsection("configuration"); } #endregion
Comments
Post a Comment