2012-05-06 6 views
2

먼저 낯선 :Settings.setting 디버그 모드에서 다른 값을 제공

내가 디버그 및 비 디버그 모드에서 Settings.settings 파일에서 다른 값을 얻을 왜 난 정말 궁금

. 즉, 디버깅하지 않고 (run-> start with debuging) 및 디버그 모드 (rub-> debug)에서 응용 프로그램을 시작합니다. 그리고이 모드에서 항상 동일한 키 에 대해 다른 값을 제공합니다.

두 번째 낯선이 :

내가 런타임에서 내 응용 프로그램과 Settings.settings 파일에 저장된 값을 변경

, 값은 변경되지 않습니다. Visual Studio에서이 파일을 열 때 이전 값이 표시됩니다. 참고 변경 내용을 저장하려면 Default.Save()에 전화하는 것을 잊지 마십시오.

왜 그럴까요? 왜 그런 일이 일어나고 어떻게 해결할 수 있습니까?

답변

4

이유는 간단합니다. 디버깅 할 때 응용 프로그램 자체는 시작하지 않고 코드가 실행되는 Visual Studio 호스팅 프로세스를 시작합니다. 설정은 실행 파일마다 다르므로 응용 프로그램을 직접 시작한 것처럼 이전에 저장된 다른 설정을 VS 디버거가 호스트 실행 파일로 가져옵니다. 디버그 - -

당신은 당신의

프로젝트 속성에서 선택하여이 이상한 behviour을 해제 할 수 있습니다

uncheck Enable Visual Studio Hosting Process. 

설정은 (읽기 전용)가 application scoped을하는 경우 변경할 수 있습니다. 사용자 범위가있는 설정에서 저장을 호출하면 사용자 프로필에 저장됩니다. 응용 프로그램의 관리자 전용 설치를 허용하는 app.config 내용은 변경되지 않습니다. 나중에 사용자는 로컬 사용자 프로필에 "diff"를 작성하여 설정을 변경할 수 있습니다.

+0

글쎄, 당신의 대답은 저의 첫 번째 질문입니다, 고마워요. 내 두 번째 이야기는 어떡하지? – Alexandre

+0

내 업데이트 된 답변보기 –