2012-01-12 2 views
1

의 app.config 섹션 값,내가 환경 섹션을 얻기 위해 아래와 같이하려고 내가 app.config에 아래와 같이이

<configuration> 
    <environment> 
     <add key="security" value="1"/> -- I want to change this value to 3 
    </environment> 
</configuration> 

,

Configuration config = ConfigurationManager.OpenExeConfiguration(exePath); 
var environment = config.GetSection("environment"); 

환경 변수를하지 않습니다를 수정하는 방법 자식 요소가 값을 수정하게하는 충분한 옵션을 제공하십시오. 어느 누구도이 일에서 나를 도울 수는 없을 것입니다.

+0

[이] (http://stackoverflow.com/questions/8785502/storing-remember-me-information-locally-c-sharp-total-newbeginner/8785646) 질문 – Shai

+0

어떤 종류의 환경 '설정 섹션? – Oded

+0

@Oded 그것은 어떤 타입도 가지고 있지 않습니다. – Lamps

답변

3

사용자 범위 설정을 사용하십시오 !! 그런 식으로 응용 프로그램 구성을 절대로 변경하지 마십시오. 응용 프로그램 내에서 변경되는 값은 사용자 설정이어야합니다.

보통, 당신은 내가 코멘트 쓴 일을 위해

Properties.Settings.Default.MyConfigurationValue = ....; 
Properties.Settings.Default.Save(); 

편집을 통해
샘플 이러한 설정에 액세스 할 수 있습니다. 두 가지 사용자 설정을 만듭니다. FirstRunbool이며, 기본값은 true입니다. Environment은 귀하의 값이며, 기본값은 0입니다.

그런 다음 Program.cs에서 Main 기능, 예를 들어 다음을 수행 할 것 :

if (Properties.Settings.Default.FirstRun) 
{ 
    Properties.Settings.Default.FirstRun = false; 
    if (myConditionIsTrue) 
     Properties.Settings.Default.Environment = 3; 
    Properties.Settings.Default.Save(); 
} 

나중에 응용 프로그램에서이 Properties.Settings.Default.Environment을 사용하기 충분하다. 이것이 응용 프로그램에서 구성 값을 변경하려는 경우 설정 메커니즘을 사용하는 방법입니다.

Windows 2000, XP, 7 및 Windows Server 브랜치에서는 Program Files 폴더의 app.config를 수정할 권한이 없으므로 그렇게하지 마십시오!

+0

하지만 제 경우에는 그 값을 수정하고 싶습니다. 일부 조건을 기반으로 응용 프로그램을 설치할 때이를 수정합니다. – Lamps

+0

조건은 무엇입니까? 적절한 방법은 사용자 설정에서 기본값을 제공하는 것입니다. 그런 다음 응용 프로그램을 처음 실행하면 올바른 값이 조건에 따라 결정됩니다. 사용자 시스템에 복사하기 전에 구성 파일을 수정하는 설치 응용 프로그램을 사용하는 경우에는 상황이 다를 수 있습니다. 이 경우, 설정 메커니즘과 관련이없는 간단한 XML 파일을 수정하는 방법에 대해 설명합니다. 설정 메커니즘을 사용하려면 올바르게 사용해야합니다. –

+0

설치시 레지스트리를 쿼리하고 특정 값을 읽고 app.config에 해당 값을 입력해야합니다. 이를 달성하기 위해 Installer 클래스를 사용하고 있습니다. 예 설치 응용 프로그램을 사용하고 있습니다. – Lamps

관련 문제