.net coreで設定ファイルを読み込むには通常、下記パッケージを使用する。
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Binder
Microsoft.Extensions.Configuration.Json
上記はJSON形式で定義された設定ファイルを読み込むもの。
JSON形式の設定ファイルは下記のような感じで定義する。
{
"ConnectionStrings": {
"MyConnection" : "Data Source=..."
},
"MySettings": {
"String" : "Hello",
"NUmber" : 100
}
}
設定値を参照するには、ConfigurationBuilderクラスを使用して、IConfiguraionRootのインスタンスを作成し、GetSectionメソッドおよびGetValueメソッドを用いて値を取得することが可能。
なお、接続文字列(ConnectionStrings)に関しては上記を用いずにGetConnecitonStringsを使用することが可能。
// 設定値の取得
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
// MySettingsセクションの"String"の値を取得
string s = config.GetSection("MySettings").GetValue<string>("String");
// MySettingsセクションの"Number"の値を取得
int i = config.GetSection("MySettings").GetValue<int>("Number");
// 接続文字列"MyConnection"の値を取得
string strCon = config.GetConnectionString("MyConnection");
上記では、実行ファイルと同じ場所にappsettings.jsonというファイル名で定義ファイルが置いてあるという想定。フォルダが実行ファイルと異なる場所にあれば、AddJsonFileメソッドを呼び出す前に、 SetBasePathメソッドでディレクトリを指定する。
以上、忘れないようにメモ。