2015-10-06 166 views
1

我有這個代碼來添加一些設置到WPF應用程序中的App.config。我認爲這是一個簡單的程序,但最終我無法將設置保存到文件中。下面是代碼爲什麼保存配置時App.config文件不會被覆蓋?

var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
var settings = configFile.AppSettings.Settings; 

settings.Add("server2", "http://someserver.com");  
configFile.Save(ConfigurationSaveMode.Modified); 
     ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name); 

的下面是app.config文件

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /> 
    </startup> 
    <appSettings> 
    <add key="server1" value="someserver.net"/> 
    </appSettings> 
</configuration> 

可能是什麼問題?

回答

2

從Visual Studio運行應用程序將每次創建一個新的vshost.config。所以設置再次爲空。

代碼是正確的,設置也將保存在配置文件中。 嘗試從Debug/Release文件夾運行.exe文件,更改將會反映出來。

+0

現在我明白了,是的。所以下次打開配置文件時,它是否會打開新創建的配置文件? – ozgur

+0

是的.vshost每次創建一個新的。 – Akansha