winform中寫app.config文件時(shí)調(diào)試情況下沒有改變的原因
環(huán)境 vs2010
讀取很簡(jiǎn)單基本都用過 ConfigurationManager.AppSettings[""].ToString()
寫config不是很常用。代碼如下:
/// <summary>
/// 修改配置文件中某項(xiàng)的值
/// </summary>
/// <param name="key">appSettings的key</param>
/// <param name="value">appSettings的Value</param>
public static void SetConfig(string key, string value)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] != null)
config.AppSettings.Settings[key].Value = value;
else
config.AppSettings.Settings.Add(key, value);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
但是我在調(diào)試的時(shí)候發(fā)現(xiàn)項(xiàng)目下的app.config里面的內(nèi)容并沒有改變。 而不調(diào)試的情況(之間找到項(xiàng)目下的debug文件)運(yùn)行exe文件發(fā)現(xiàn)app.config文件改變了。
原因:
在我們調(diào)試的時(shí)候(按F5) 編譯器會(huì)把debug下的exe,dll,config給覆蓋掉。然后執(zhí)行exe文件和vshost.exe(此文件調(diào)試的時(shí)候用)。這時(shí)會(huì)把debug下的config內(nèi)容改變。
而項(xiàng)目下的app.config文件并沒有改變。。。所以下回調(diào)試的時(shí)候debug下的config又被app.config覆蓋。。所以就看到了我上面所說的情況。。
相關(guān)文章
C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘四 雙向鏈表
上節(jié)說過這節(jié)會(huì)講雙向鏈表,環(huán)形鏈表和應(yīng)用舉例,我們開始吧?。。?!2012-11-11深入解析C#編程中struct所定義的結(jié)構(gòu)
這篇文章主要介紹了C#編程中struct所定義的結(jié)構(gòu),與C++一樣,C#語言同時(shí)擁有類和結(jié)構(gòu),需要的朋友可以參考下2016-01-01C#模擬實(shí)現(xiàn)鼠標(biāo)自動(dòng)點(diǎn)擊與消息發(fā)送功能
這篇文章主要為大家詳細(xì)介紹了C#如何利用windows api來模擬實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊、右擊、雙擊以及發(fā)送文本功能,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-08-08C# CAD SelectionFilter下TypedValue數(shù)組使用方式
這篇文章主要介紹了C# CAD SelectionFilter下TypedValue數(shù)組使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02桌面浮動(dòng)窗口(類似惡意廣告)的實(shí)現(xiàn)詳解
本篇文章是對(duì)桌面浮動(dòng)窗口的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06