2011-03-21 7 views
4
를 저장하는 가장 좋은 방법은

가능한 중복 :
What is the best way to store user settings for a .NET application?.NET - 응용 프로그램 설정

안녕하세요. .Net 4.0에서 응용 프로그램 설정을 저장하는 가장 좋은 방법은 무엇입니까? Windows 레지스트리? 애플리케이션 설정?

프로그램을 업데이트하고 이전 버전의 설정을 유지하려면 어떻게해야합니까? (새 버전은 더 많은 설정을 새로 추가 할 수 있으며 이전 버전은 삭제할 수 있습니다)?

내 맞춤 개체의 컬렉션을 저장하려면 어떻게해야합니까?

비슷한 질문이 있지만 그게 .Net 2.0에 관한 것입니다. 4.0에 설정을 저장하는 몇 가지 새로운 방법이있을 수 있습니다.

미리 감사드립니다.

+0

@Scott 앤더슨 I'am 닷넷 4.0을 요구. 당신이 준 링크는 약 2.0입니다. – Hooch

+0

4.0에는 새로운 것이 없습니다. 또는 3.0 또는 3.5 –

+0

.NET 4.0에서 이와 관련된 변경 사항이 없습니다. 속임수 질문은 여전히 ​​유효하며 .NET 4.0에서 권장됩니다. –

답변

1

MS의 새로운 기능에 대해이 작업을 참조하십시오. 또한 @Scott Anderson이 한 의견에서 언급했듯이 .Net 4.0과 관련해서는 크게 달라진 점이 하나도 없습니다.

이것이 보조 데이터 저장소가없는 로컬 응용 프로그램 인 경우 app.config 파일을 사용하십시오.

로컬 데이터를 저장하려면 sql lite 또는 테이블을 쉽게 만들고 필요에 따라 쿼리 할 수있는 비슷한 메커니즘을 사용하는 것이 좋습니다. 이것은 버전 관리에도 도움이됩니다.

1

Application.Settings은 확실히 레지스트리 설정과 달리 운영 체제, 사용자 수준 또는 터미널 서비스 클라이언트에서 응용 프로그램을 실행할 때 작동합니다.

이전에는 이라는 이름의 속성을 만들었습니다.이 설정은 MigrateUserSettings으로 사용자 설정 마이그레이션을 관리하는 데 사용되었습니다.

기본적으로 응용 프로그램에서이 속성의 값을 true으로 설정합니다. 시작할 때 사실으로 설정되면 설정을 마이 그 레이션 한 다음 값을 거짓으로 설정합니다 (응용 프로그램이 업그레이드 될 때까지 은 false으로 유지됩니다).

예 :

if (Settings.Default.MigrateUserSettings) 
{ 
    Settings.Default.Upgrade(); 
    Settings.Default.MigrateUserSettings = false; 
    /* Custom handling of migrating specific settings (if required) here 
     e.g. if any have been renamed or if the possible options have changed. */ 
    Settings.Default.Save(); 
} 
+0

MigrateUserSettings는 어떻게 다시 true로 설정됩니까? 이것이 내 전술 (.NET 4.0 및 ClickOnce 사용) 테스트에서 내 프로그램의 새 버전을 게시해도 설정이 기본값으로 돌아 가지 않기 때문에 이해할 수없는 전술 중 하나입니다. –

+0

흠 나는 대답 할 수 없다. 미안하다. (설치를하지 않고 직접 새 빌드를 실행한다고해도 * * 생각한다.) 아마도 그것은 빌드/파일 버전과 같은 것에 의존하고 있습니다. –

+0

어떤 네임 스페이스가'Settings' 클래스입니까? – Tschareck