1.コンソールアプリケーション
新しいコンソールアプリケーションを作成し、2つのパッケージを追加します。
インストール・パッケージ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を(設定[ " データ"]); // 設定ボタン Console.WriteLineを(config.GetSection(" の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":{ "デフォルトコンテキスト": "默认库" } }
{ "データ": "10000"、 "のconnectionStrings":{ "デフォルトコンテキスト": "开发库" } }
使用してシステムを。 使用して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:デフォルトコンテキスト"、OUT 文字列はDefaultContext); Console.WriteLineを(はDefaultContext); } // 出力:デフォルトのライブラリー // 開発ライブラリ } } }