app.config 파일과 XYZ.settings 파일의 차이점은 무엇입니까?
나는 실제로 .NET 관련 항목의 학습 단계에 있으며 응용 프로그램을 저장하는 방법을 탐색하고있었습니다. XML 파일에 설정을 저장하는 자체 클래스를 작성하고 .NET 자체가 응용 프로그램 설정 저장을 지원한다는 것을 알았습니다.
하지만 두 가지 방법을 찾았습니다. Visual Studio 2008에서 새 항목 추가 대화 상자를 열면 설정 파일 (.settings) 또는 구성 파일 (.config)을 만드는 옵션이 제공됩니다. 둘 다의 차이점은 무엇이며 어떤 시나리오에서 사용해야합니까?
UPDATE : -에서 ASP.NET 코어 랜드, 구성은 더 이상 통해 하나 이들의 관리되지 않습니다 에 AZ와 트래비스 ILLIG에서이 환상적인 작성자를 참조 Microsoft.Extension.Configuration
하고 Microsoft.Extensions.Configuration.Binder
효율적으로 모든이의 수퍼하는
설정 (.settings 및에서 모두 Configuration.AppSettings
)은 .config 파일에 저장됩니다 (다른 많은 항목과 함께).
차이점은 [.NET 2.0 / VS2005에 추가 된] .settings 항목은 함께 속한 설정 집합 위에 강력한 형식의 클래스를 계층화하는 반면 Configuration.AppSettings
문자열을 검색하여 변환을 수행하도록하고 기본값이라는 개념이 있습니다. (구성 클래스는 실제로이를 반영하기 위해 사이드 어셈블리로 분류되었습니다. 원하는 경우 명시 적으로 System.Configuration에 대한 참조를 추가해야합니다).
프로젝트에 .settings를 추가하면 아직 설정이없는 경우 설정을 수용하기 위해 app.config가 추가됩니다. 설정을 읽는 클래스는 구성 요소 / 응용 프로그램의 설정 목록을 변경할 때마다 자동으로 생성됩니다.
.Settings의 다른 기능은 일부 설정을 사용자 별 설정으로 지정하는 기능입니다 (또한 단일 호출로 사용자 별 설정을 저장하는 기능).
모든 .Settings를 사용하는 가장 좋은 이유는 일반적으로 속성 사용을 따라 코드베이스에서 누가 어떤 설정을 사용하고 있는지 명확하게 식별 할 수 있기 때문입니다 (각 집합은 XML 파일에서 별도의 블록 임). Configuration.appSettings
특성상 더 전역 적입니다. 속성 모음 일 뿐이며 특정 설정 항목에 의존하는 DLL, 하위 시스템 또는 클래스를 알 수 없습니다. 자세한 내용 은 Steven Smith의이 블로그 게시물을 참조하십시오 .
마지막으로, 설정 관리에 대해 아직 충분히 읽지 않았다면 주제에 대한 이 Rick Strahl 게시물의 완전성 또는 엄청난 양의 아이디어와 각도 를 이기지 못할 것 입니다.
옆으로 다음도있다 ASP.NET vNext 구성 물건, 이 문서에 나와있는 매우 유연하고 이벤트 구성 설정 관리에 대한 다른 각도.
설정 파일은 다른 설정과 해당 기본값을 지정하는 리소스 파일입니다.
값 자체는 애플리케이션 구성 파일 (.config 파일)에서 구성됩니다.
설정 파일은 배포되지 않으므로 구성을 수행하려면 구성 파일이 필요합니다.
app.config 파일은 앱과 동일한 디렉토리에 저장됩니다. 일반 사용자는 쓰기 권한이 없습니다 (예 : "프로그램 파일").
설정 파일은 사용자 "AppData"디렉토리에 저장되어야합니다 (여기서 그는 r / w 권한이 있음).
따라서 사용자 구성 가능 옵션에 대한 설정 파일을 사용하십시오.
'Nice programing' 카테고리의 다른 글
Android-API 23에 대해 onAttach (Context)가 호출되지 않음 (0) | 2020.10.30 |
---|---|
이미지 src를 데이터 URL로 설정하면 즉시 사용할 수 있습니까? (0) | 2020.10.30 |
Java 열거 형 역방향 조회 모범 사례 (0) | 2020.10.30 |
JavaScript에서 "클로저"는 정확히 무엇을 의미합니까? (0) | 2020.10.30 |
LinearLayout 대 RelativeLayout (0) | 2020.10.30 |