winform中寫app.config文件時調(diào)試情況下沒有改變的原因
環(huán)境 vs2010
讀取很簡單基本都用過 ConfigurationManager.AppSettings[""].ToString()
寫config不是很常用。代碼如下:
/// <summary>
/// 修改配置文件中某項的值
/// </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)試的時候發(fā)現(xiàn)項目下的app.config里面的內(nèi)容并沒有改變。 而不調(diào)試的情況(之間找到項目下的debug文件)運行exe文件發(fā)現(xiàn)app.config文件改變了。
原因:
在我們調(diào)試的時候(按F5) 編譯器會把debug下的exe,dll,config給覆蓋掉。然后執(zhí)行exe文件和vshost.exe(此文件調(diào)試的時候用)。這時會把debug下的config內(nèi)容改變。
而項目下的app.config文件并沒有改變。。。所以下回調(diào)試的時候debug下的config又被app.config覆蓋。。所以就看到了我上面所說的情況。。
相關(guān)文章
C#使用yield關(guān)鍵字實現(xiàn)提升迭代性能與效率
yield關(guān)鍵字在C#中簡化了數(shù)據(jù)迭代的方式,實現(xiàn)了按需生成數(shù)據(jù),自動維護迭代狀態(tài),本文主要來聊聊如何使用yield關(guān)鍵字實現(xiàn)提升迭代性能與效率,感興趣的可以了解下2025-01-01
C#操作IIS程序池及站點的創(chuàng)建配置實現(xiàn)代碼
最近在做一個WEB程序的安裝包;對一些操作IIS進行一個簡單的總結(jié);主要包括對IIS進行站點的新建以及新建站點的NET版本的選擇,還有針對IIS7程序池的托管模式以及版本的操作2013-03-03
C#實現(xiàn)自定義windows系統(tǒng)日志的方法
這篇文章主要介紹了C#實現(xiàn)自定義windows系統(tǒng)日志的方法,涉及C#針對windows系統(tǒng)日志的創(chuàng)建、讀寫及刪除技巧,非常具有實用價值,需要的朋友可以參考下2015-08-08
C# readnodefile()不能讀取帶有文件名為漢字的osg文件解決方法
這篇文章主要介紹了C# readnodefile()不能讀取帶有文件名為漢字的osg文件解決方法,需要的朋友可以參考下2015-09-09

