設定ファイルって皆さんどうしてますか? これまで設定ファイルとは無縁だったり、何ならC#とも無縁だったりで、その辺の事情が分からないこともあり、ちょろっと調べたら何かいっぱい出てきました。こちらの サイト がまとめられていて非常に参考になります。また他にもレジストリを使った方法やConfigurationManagerをつかってApp.configにアクセスする方法があるみたいです。 Properties.Settings とりあえず PropertiesSettings を使いました。というのも海外ニキたちのやり取りを見た感じだと、appsettigs.jsonはアプリケーションの固有値で読み出しが主で、PropertiesSettinsはユーザー設定を読み書きするって感じでした。それでもって.NETで依存関係の挿入(DI)で使われる IOptions も、appsettings.jsonのデータを独自クラスで取り出してくれるのでかなり便利!っと思ったのですが、ファイルは更新できません。だから、やっぱりそういう使い方なんだろうなぁと思ったのです。 user.configは何処に? 順調に動いていてカンペキ!とか思っていたのですが exeを移動すると設定がまっさら になることに気づきました。 調べてみると 設定ファイルはアセンブリのパスによって決まるらしい。確かにReleaseとDebugで違うなぁと思ってたけど、それはてっきりバイナリの違いかと思っていた。パスで決めるってどうよ。 例えばPCにインストールするタイプの実行ファイルならそれでも十分なんだけど、ちっちゃいユーティリティだと思い付きで配置を変えたりするので向いてない。それに設定ファイルは隠しフォルダにあるから持ってくるのもハードルたかし。 頑張れば 保存場所も変更できる と分かって少し実装したのですが、「これは本当にする必要があることかね?」ってもう一人のボクに諭された結果別の方法にすることにしました。 Generic Host の Configuration 色々調べているうちに IOptionsを書き換え可能にする方法 を見つけまして、日本語だとあまり出てこないけど英語だと何件かあって、 nugetパッケージ を作ったり使ったりしている人もいるのでやっぱり需要あるよねと思いました。実際のところ設定ファ...