C#でちょっとハマッた・・・

きょう、ひとつかしこくなったこと。

  1. Settings.Settings で Key="HogeHoge", Value=(string)"funyara" を追加
  2. Buildする
  3. foo.exe.config に「HogeHoge」が出力される
  4. foo.exe.config から、エディタで「HogeHoge」を削除
  5. foo.exeを実行

で、HogeHoge の値("funyara")は取得できないと思っていたが・・・
Settings.DesignerにDefaultSettingValueAttribute でデフォルト値としてSettings.Settings で設定した値を保持してるのね。。。

「HogeHoge」が存在しない場合は旧バージョンの動作、存在する場合は新バージョンの動作として、「Value」に従って処理しようと思ってたんやけど・・・
デフォルト値をちゃんと決めて処理しようね>自分