2015-01-15 3 views
0

나는 간단한 Windows 응용 프로그램을 만들고 나는 또한 또한 App.config 파일에 키를 추가 설정 파일을 추가 한 App.config 파일App.config 파일을 사용하는 방법?

을 추가했습니다. 내 코드 내부

<appSettings> 
    <add key="myKey" value="1"/>  
</appSettings> 
<applicationSettings> 
    <MyApp.AppSettings> 
     <setting name="RunAutomated" serializeAs="String"> 
      <value>False</value> 
     </setting> 
    </MyApp.AppSettings> 
</applicationSettings> 

은 다음과 같습니다

If(AppSettings.Default.RunAutomated) { 
    Console.WriteLine("Running auto!!!"); 
} 
else { 
    Console.WriteLine("Running manual!!!"); 
} 

간단한 그입니다.

프로젝트를 빌드하고 Visual Studio를 실행하면 RunAutomated 키를 변경하고 응용 프로그램을 다시 실행할 때 출력이 모두 변경되는 것으로 예상됩니다. 내가 /빈/디버그 폴더에 가서 실행하면

는하지만 이것은 사실이 아니다있는

그것의 app.config를 캐시 보인다는 파일의 app.config에 대한 변경 사항을 무시 MyApp.exe의.

App.config 파일을 실행할 때마다 계속 읽으려면이 간단한 작업을 어떻게해야합니까? app.config를 변경하면 응용 프로그램에 영향을 주어야합니까?

AppSettings.Default.Save(); 

주 후 모든 설정 파일을 작성 : 당신이 코드에서 속성을 변경하거나 앱의 UI를 사용하는 경우

+0

어딘가에 중복이있을 것이라고 확신하지만, 귀하의'app.config' 파일은 모든 빌드에서'AppName.exe.config' 파일로 복사됩니다. 그래서 다시 빌드하면 기본값으로 돌아갑니다. – CodeCaster

+1

절대적으로 필요한 곳에 만 'app.config'를 사용합니다 (예 : 어셈블리 리디렉션). 사용자 지정 구성의 경우 일부 serializer와 함께 별도의 파일을 사용합니다. – CodesInChaos

+0

그 값을 어떻게 바꾸는 것이 더 잘 설명 할 수 있습니까? 코드로 변경합니까? 디버그 세션을 실행하기 전에 app.config에서 변경합니까? 직접 디버그 폴더의 exe.config? – Steve

답변

1

, 당신은 SettingsBase 인스턴스에서 Save를 호출하여 변경된 속성을 저장한다 덮어 씁니다. 따라서 다른 폴더에 실행 파일을 복사하고 여러 번 실행하십시오.

또는 더 쉽고 안정적인 고유 한 설정 파일을 만들 수 있습니다. XmlSerializer 클래스와 JsonConvert 클래스를 보면 Newtonsoft Json에 있습니다.

관련 문제