ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

AppSettingから設定値を取得する

.Netの環境変数ファイル(*.config)から値を取得する方法について

以前のやり方が使えなくなったみたいなので、新しい方法をメモる
今はうまくいかない以下の方法

Configuration.ConfigurationManager.AppSettings("KEY")

.config

<configuration>
  <appSettings>
    <add key="KEY_ID1" value="abcd" />
    <add key="KEY_ID2" value="9999" />
  </appSettings>
</configuration>

System.Configuration.AppSettingsReader

System.Configuration.AppSettingsReader setting = new System.Configuration.AppSettingsReader();
var keyId1= setting.GetValue(KEY_CLIENT_ID, Type.GetType("System.String"));

うまく取得できたが、キーがなかったりすると、そのままエラーになるので、エラー処理が必要

.Net Core

.Net Coreで利用する場合、NuGetから「System.Configuration.ConfigurationManager」のインストールを行い、以下のソースを参照

var result = Configuration.ConfigurationManager.OpenExeConfiguration(Environment.GetCommandLineArgs()(0));
if(result.HasFile){
  string settingValue = Configuration.ConfigurationManager.AppSettings("key");
}

※例はコンソールアプリケーションの場合