업그레이드를 수행 할 때 어떻게 사용자의 App.config를 올바르게 패치 할 수 있습니까?App.config 패치/업데이트
구성 변경 사항이 손실되면 이전 파일을 덮어 쓰는 것이 문제가되지만 새로운 값이 추가되거나 이전 값이 변경되면 이전 파일을 유지할 수 없습니다.
업그레이드를 수행 할 때 어떻게 사용자의 App.config를 올바르게 패치 할 수 있습니까?App.config 패치/업데이트
구성 변경 사항이 손실되면 이전 파일을 덮어 쓰는 것이 문제가되지만 새로운 값이 추가되거나 이전 값이 변경되면 이전 파일을 유지할 수 없습니다.
지금 사용한 솔루션은 기기 별 설정을 user.config
에 적용하는 것입니다. 완벽하게 작동합니다!
음, 업그레이드 프로세스를 처리하는 방법과 경미한/주요 버전 업그레이드를 위해 고급 설계 및 계획을 얼마나 잘 수행했는지에 따라 다릅니다. 주석 중 하나가 명시된대로 실제 로켓 과학은 없습니다. xml 파일 만 다루고 있습니다. 또한 .NET Framework에는 개발자가 System.Configuration
네임 스페이스에있는 구성 파일을 처리 할 수있게 해주는 잘 디자인 된 기본 제공 API가 있습니다.
이제 데스크톱 개발을 할 때 과거의 방법 (예전의 학교 방식 ... 많이 변경되지 않았다고 생각합니다)을 수행했습니다. 웹 서비스가 두 종점 최신 버전의 응용 프로그램과 최신 응용 프로그램 설치 프로그램의 패키지 버전을 제공하는 또 다른 버전을 공개하는 경우 최종 사용자의 데스크톱에 설치된 응용 프로그램은 사용자가 응용 프로그램을 시작할 때마다이 서비스를 호출합니다. 버전 이전 및 설치를 처리 할 별도의 프로세스 (업데이터)를 시작합니다. 이렇게하면 설정 파일, 로컬 저장소 (있는 경우) 등 모든 설정 마이그레이션을 처리 할 수 있습니다.
나는 이것이 최선의 해결책이라고 주장하지는 않지만 많은 유연성과 제어권을 제공합니다. 프로세스가 가장 중요합니다. 대형 소프트웨어 회사가 따르는 과정은 정확히 동일합니다. 그러나 약간의 계획이 필요합니다.
조심스럽게? 구성 파일은 단지 XML 일뿐입니다. 언제든지 그것을 읽고 원하는대로 병합 할 수 있습니다. 또한 .Net의 기존 "병합 구성"기능이 있다고 생각하지 않습니다. 사용자가 별도의 파일 (예 : 글로벌 사용자 대 사용자)의 설정을 변경하려면 전체 문제를 피할 수 있었을 것입니다 - 미래를 고려하십시오. –