2011-09-02 4 views
3

사용자 설정 중 일부를 UserSettings.Settings 파일에 저장하는 Win Form 응용 프로그램이 있습니다. 지금까지 잘 작동했지만, 업데이트를 릴리스 할 때 Settings 파일이 "재설정"된 것처럼 보입니다. 나는 ClickOnce 통해.. Winform 응용 프로그램, 모범 사례의 설정 파일

이것은 예상되는 동작입니까?
설정 파일의 필드를 덮어 쓸 수 있는지 제어 할 수 있습니까?
사용자 설정을 저장하는 더 좋은 방법이 있습니까?

감사합니다.

+0

내 '.settings' 파일을 다른 곳에 저장해야합니까? 그것이 달성되는 방법에 대한 모든 링크가 인정 될 것입니다. –

+0

업데이트를 어떻게 배포합니까? ClickOnce? – BrandonAGr

+0

@BrandonAGr : ClickOnce –

답변

2

.Settings 파일을 어디에 저장하고 있습니까? 실행 파일과 함께 설치 디렉토리에 포함되지 않아야합니다. 사용자의 응용 프로그램 데이터 디렉토리로 이동하십시오 :

http://blog.kowalczyk.info/article/Getting-user-specific-application-data-directory.html

행운을 빕니다! 너무 XP에서 응용 프로그램 데이터로 저장됩니다 확신

C:\Users\USERNAME\AppData\Local\MANUFACTURER_NAME\ 

C:\Users\USERNAME\AppData\Roaming\MANUFACTURER_NAME\ 

메신저 :

+0

어디서나 저장하는 것이 아니라 앱이 어디서나 저장할 수있게 해 줬습니다. (바보 같은 느낌이 든다.) 내가 저장하는 위치를 제어 할 수 있다는 것을 몰랐다. –

0

에서 윈도우 비스타/7 그것은에 저장됩니다.

새 버전이 다른 폴더를 사용하기 때문에 설정이 계속 재설정됩니다. 확인해 봐.

4

업데이트를 릴리스하면 업데이트 된 앱에서 ApplicationSettingsBase.Upgrade Method을 호출하여 이전 버전의 값을 이동해야합니다.

가 명심 Automatically "upgrade" user settings from previous version of app.config file? 당신은 아마 이미 업그레이드라고 여부를 저장하거나 너무 설정과 같은 것을 할 것입니다, 그래서 당신은 한 번만 위의 방법을 호출해야합니다 : 여기에 비슷한 질문입니다

if(!Settings.Default.Upgraded) 
{ 
    Settings.Default.Upgrade(); 
    Settings.Default.Upgraded = true; 
    Settings.Default.Save(); 
} 

또 다른 가능한 솔루션은 응용 프로그램 버전에 의존하지 않는 폴더에 설정을 저장하는 것입니다. 이 경우 값을 잃지 않고 버전간에 설정을 업그레이드 할 필요가 없습니다.

+1

정답은 거의 같았습니다. :) –

+0

그냥 명확히하기 위해; 나는 ClickOnce 배포 또는 아니오로이 작업을 수행합니다. 나는 여기에 대한 답변과 관련하여 "ClickOnce"가 당신을 위해 이런 짓을 한 것을 모으고 있었습니까? –

+0

이것이 내가 현상금을 싫어하는 이유입니다 ... 어쨌든, 제 문제를 해결하지 못했기에 또 다른 스레드를 시작하기위한 적절한 예의입니다. 내 설정은 여전히'.Upgrade() '를 사용하여 재설정됩니다. 무엇이 누락 되었습니까? –

1

ClickOnce와 함께 Application Settings이 내장되어 있습니까?

그럼 그냥 설정 편집기에서 사용자와 ClickOnce 응용 프로그램의 각 버전은 모든 다른 버전에서 격리 된 것처럼 will be merged on upgrades as described here

설정에 범위를 설정해야하는 경우, 응용 프로그램 설정에 대한 ClickOnce 응용 프로그램 은 다른 버전의 설정에서도 격리되어 있습니다. 사용자가 최신 버전의 응용 프로그램으로 업그레이드하면 응용 프로그램 은 최신 버전 (가장 높은 번호가 부여 된)의 설정 을 업데이트 된 버전과 비교하여 설정을 새로운 설정 파일 집합으로 병합합니다.

관련 문제