Visual Studio 2008에서 프로젝트를 디버깅 할 때 Settings.settings 파일이 빌드간에 계속 재설정됩니다. 이런 일이 발생하지 않도록하는 방법이 있습니까?Settings.settings 파일 재설정 유지
감사합니다.
Visual Studio 2008에서 프로젝트를 디버깅 할 때 Settings.settings 파일이 빌드간에 계속 재설정됩니다. 이런 일이 발생하지 않도록하는 방법이 있습니까?Settings.settings 파일 재설정 유지
감사합니다.
좋아, 나는 정말로 내가 찾고있는 대답을 발견했다. 기본적으로 LocalFileSettingsProvider.Upgrade를 호출해야합니다. 그러나 ClickOnce를 사용하여 배포 할 것이므로 자동으로 수행됩니다.
질문 :하지만 업그레이드를 언제 어떻게 호출해야하는지 알 수 있습니까?
답 : 좋은 질문입니다. Clickonce에서 응용 프로그램의 새 버전을 설치하면 ApplicationSettingsBase가이를 감지하고 설정이로드 된 시점에 자동으로 설정을 업그레이드합니다. Clickonce 이외의 경우에는 자동 업그레이드가 없습니다. 직접 업그레이드를 호출해야합니다. 다음은 업그레이드를 호출 할시기를 결정하는 한 가지 아이디어입니다.
CallUpgrade라는 부울 설정이 있고 기본값 인 true를 지정합니다.()이 업그레이드를 보장합니다
if (Properties.Settings.Value.CallUpgrade)
{
Properties.Settings.Value.Upgrade();
Properties.Settings.Value.CallUpgrade = false;
}
이 새 버전이 배포 된 후 응용 프로그램이 실행되는 첫 번째 시간이라고 : 앱이 시작되면, 당신은 뭔가를 할 수 있습니다.
내 머리 꼭대기에서 프로젝트를 만들거나 실행할 때 파일의 속성 (Visual Studio에서 마우스 오른쪽 버튼을 클릭하고 속성)에서 "복사하지 마십시오"옵션을 설정할 수 있다고 생각합니다. 아마도 프로젝트가 빌드되고 설정 파일이 debug bin 디렉토리에 복사되어 이전 실행에서 설정 파일을 덮어 쓰는 경우 일 수 있습니다.
기본적으로 Settings.settings 파일은 현재 버전 번호에 따라 기본적으로 "기능"으로 저장됩니다. 설정은 컴퓨터의 동일한 프로그램의 다른 버전간에 저장되지 않습니다. 컴파일 할 때 (AssemblyInfo.cs의 1.0. *) 버전 번호가 자동으로 증가한다고 가정하면 새 버전을 컴파일 할 때마다 설정이 재설정됩니다.
이 문제를 해결하려면 응용 프로그램 데이터 디렉터리에 사용자 고유의 설정 파일을 직렬화하는 것이 가장 좋습니다.
이것이 Microsoft의 기능으로 간주 될지 확실하지 않습니다. Microsoft가 소프트웨어를 업데이트 할 때마다 모든 불만 사항이 있다고 상상할 수 있습니까? 왜 그들은 "우리"개발자들과 다를 것이라고 생각합니까? :) 답장을 보내 주셔서 감사합니다! – Lenard
버전 번호를 수동으로 업데이트해도 문제가되지 않습니다. 최종 결과는 사용자가 소프트웨어의 버전 1.0, 1.5, 1.7 및 2.0을 설치할 수 있으며 각각 고유 한 설정이 저장된다는 것입니다. 이 4 가지 응용 프로그램간에 설정을 공유하려면 공유 위치에 자신의 설정 파일을 저장해야합니다. –
MS에서 제공하는 응용 프로그램 설정 기능의 동작이 마음에 들지 않았습니다. 부끄러운 점은 거기에 프레임 워크가 많이있는 것 같지만, 제 자신을 요리하는 것이 더 쉽다는 것을 알았습니다. – AaronLS
다른 이유의 사이에, 설정 파일 유지 점점 간단하게 다음 번에 디버그, 당신은 다시 한번 전체 응용 프로그램을 테스트 할 수 있습니다 때문에 디버그 할 때마다 다시 설정합니다. 설정을 재설정하지 않으면 감지되지 않은 버그가 발생할 수 있습니다.
방금 옵션을 확인했으며 이미 "복사 안 함"으로 설정되어 있습니다. – Lenard