winform 에서 app.config 파일 을 쓸 때 디 버 깅 상황 에서 변 하지 않 은 이유

1293 단어 app.config디 버 깅
환경 vs 2010 읽 기 는 간단 합 니 다.기본적으로 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");
}

하지만 디 버 깅 을 할 때 프로젝트 의 app.config 안의 내용 이 변 하지 않 았 다 는 것 을 알 게 되 었 습 니 다.  디 버 깅 하지 않 은 경우(프로젝트 의 debug 파일 을 찾 은 사이)exe 파일 을 실행 하 다 보 니 app.config 파일 이 바 뀌 었 습 니 다.
원인:
 우리 가 디 버 깅 할 때(F5 를 누 르 면)컴 파일 러 는 debug 의 exe,dll,config 를 덮어 씁 니 다.그리고 exe 파일 과 vshost.exe 를 실행 합 니 다.이 때 debug 의 config 내용 을 바 꿉 니 다.프로젝트 의 app.config 파일 은 변경 되 지 않 았 습 니 다...그래서 다음 디 버 깅 때 debug 의 config 는 app.config 로 덮어 씁 니 다.그래서 내 가 위 에서 말 한 상황 을 봤 어.

좋은 웹페이지 즐겨찾기