純コアシリーズ:設定ファイルを読み込みます

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":{ 
    "デフォルトコンテキスト": "默认库" 
  } 
}
appsettings.json
{ 
  "データ": "10000"、
  "のconnectionStrings":{ 
    "デフォルトコンテキスト": "开发库" 
  } 
}
appsettings.Development.json
使用してシステムを。

使用して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); 
            } 

            // 出力:デフォルトのライブラリー
             //       開発ライブラリ
        } 
    } 
}

2. APIアプリケーション

おすすめ

転載: www.cnblogs.com/libingql/p/11326358.html