1. 콘솔 응용 프로그램
새로운 콘솔 응용 프로그램을 만들고이 개 패키지를 추가합니다 :
설치 패키지 Microsoft.Extensions.Configuration 설치 패키지 Microsoft.Extensions.Configuration.Json
1.1 하나의 구성 파일
프로필 appsettings.json 만들기 :
{ "데이터": "10000", "ConnectionStrings": { "DevContext": "开发库", "ProdContext": "生产库" } }
구성 파일을 읽습니다 :
사용하여 시스템; 사용 System.IO 단계; 사용 Microsoft.Extensions.Configuration 단계; 네임 스페이스 Libing.Core.ConsoleApp { 클래스 프로그램 { 정적 무효 메인 ( 문자열 []에 args) { var에 빌더 = 새 ConfigurationBuilder () .SetBasePath (Directory.GetCurrentDirectory ()) .AddJsonFile ( " appsettings.json " ); VAR의 구성 = builder.Build (); Console.WriteLine (구성 [ " 데이터 "]) // 버튼 구성 (config.GetSection을 (Console.WriteLine을 " ConnectionStrings : DevContext " )를 .Value); // 계층 키 } } }
ConfigurationBuilder 개체를 통해 개체를 만들 수 ConfigurationRoot는, 구성 파일을 읽습니다.
SetBasePath는 : 프로필 기본 경로를 설정
AddJsonFile : JSON 파일을 읽어 추가
var에 빌더 = 새 ConfigurationBuilder () .SetBasePath (Directory.GetCurrentDirectory ()) .AddJsonFile ( " appsettings.json " ) ;
옵션 설정 파일을 수정하고 자동으로 설정을로드 :
var에 빌더 = 새 ConfigurationBuilder () .SetBasePath (Directory.GetCurrentDirectory ()) .AddJsonFile ( " appsettings.json " ) ;
구성 키 규칙 :
(1) 키는 대소 문자를 구별하지 않다. 예를 들어, ConnectionString을 ConnectionString을하고는 해당 키 간주됩니다.
(2) 계층 키 구분 콜론 (:)
이상 1.2 프로필
AddJsonFile : 여러 프로파일을 추가.
var에 빌더 = 새 ConfigurationBuilder () .SetBasePath (Directory.GetCurrentDirectory ()) .AddJsonFile ( " appsettings.json " ) .AddJsonFile ( " appsettings.Development.json " , 옵션 : 사실 , reloadOnChange : 사실 );
{ "데이터": "10000", "ConnectionStrings": { "의 DefaultContext": "默认库" } }
{ "데이터": "10000", "ConnectionStrings": { "의 DefaultContext": "开发库" } }
사용하여 시스템; 사용 System.IO 단계; 사용 Microsoft.Extensions.Configuration 단계; 네임 스페이스 Libing.Core.ConsoleApp { 클래스 프로그램 { 정적 무효 메인 ( 문자열 []에 args) { var에 빌더 = 새 ConfigurationBuilder () .SetBasePath (Directory.GetCurrentDirectory ()) .AddJsonFile ( " appsettings.json " ) .AddJsonFile ( " appSettings는 .Development.json " ); var에 설정 =builder.Build (); Console.WriteLine (config.GetConnectionString ( " 의 DefaultContext " )); // 출력 : 개발 라이브러리 } } }
사용하여 시스템; 사용 System.IO 단계; 사용 Microsoft.Extensions.Configuration 단계; 네임 스페이스 Libing.Core.ConsoleApp { 클래스 프로그램 { 정적 무효 메인 ( 문자열 []에 args) { var에 빌더 = 새 ConfigurationBuilder () .SetBasePath (Directory.GetCurrentDirectory ()) .AddJsonFile ( " appsettings.Development.json " ) .AddJsonFile ( " appsettings.json " ); var에 설정 =builder.Build (); Console.WriteLine (config.GetConnectionString ( " 의 DefaultContext " )); // 출력 : 기본 라이브러리 } } }
동일한 구성 키는 (AddJsonFile를) 읽을 수있는 파일을 선택합니다 마지막으로 추가했다.
모든 구성 정보를 읽을 수있는 파일을 추가하려면 공급자 속성을 ConfigurationRoot 통과 할 수 있습니다.
사용하여 시스템; 사용 System.IO 단계; 사용 Microsoft.Extensions.Configuration 단계; 네임 스페이스 Libing.Core.ConsoleApp { 클래스 프로그램 { 정적 무효 메인 ( 문자열 []에 args) { var에 빌더 = 새 ConfigurationBuilder () .SetBasePath (Directory.GetCurrentDirectory ()) .AddJsonFile ( " appsettings.json " ) .AddJsonFile ( " appSettings는 .Development.json " ); var에 설정 =builder.Build (); foreach는 ( var에 제공 에서 config.Providers) { provider.TryGet ( " ConnectionStrings 다음의 DefaultContext " , OUT 문자열 의 DefaultContext); Console.WriteLine (의 DefaultContext); } // 출력 : 기본 라이브러리 // 개발 라이브러리 } } }