문제

런타임을 변경하려고합니다. 응용 프로그램 설정 파일의 키 중 하나입니다. 그러나 작동하지 않습니다.

나는 그런 식으로한다 :

ConfigurationSettings.AppSettings["XPTO"] = "HELLO";

파일이 아닌 메모리 만 변경되는 것 같습니다.

누구 든지이 작업을 수행하는 방법을 알고 있습니까?

감사.

도움이 되었습니까?

해결책

내 것을보세요 .NET 설정 파일의 개요... 요컨대, 당신은 사용자-스코프 설정을 원한다고 생각합니다. 그것은 당신이 기대하는 것처럼 더 많이 행동 할 것입니다.

편집하다: 당신이 사용하는 경우 Visual Studio의 디자이너 설정, 그런 다음 "스코프"를 "사용자"로 변경하십시오. 그렇지 않은 경우, 동등한 프로그래밍 방식으로 수행 할 수 있어야합니다.

다른 팁

AppSettings 파일은 쓸 수 있도록 설계되지 않았습니다. 실행 시간에 변경되지 않지만 시간이 지남에 따라 변경 될 수있는 구성을 저장하도록 설계되었습니다. 즉, DB 연결 문자열, 웹 서비스 URL 등.

따라서 실제로 파일을 업데이트 할 수는 있지만이 값을 저장 해야하는 경우 다시 평가해야합니다.

앱이 파일에 쓰기 권한이 있다고 가정합니다 ...



    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);  // the config that applies to all users
    AppSettingsSection appSettings = config.AppSettings;

    if (appSettings.IsReadOnly() == false)
    {
        appSettings("Key").Value = "new value";

        config.Save();
    }

던질 수있는 가능한 모든 예외를 무시하고 있습니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top