デスクトップアプリケーションの設定を保存および管理するためのVisualStudioのこれら2つのメカニズムの明らかな冗長性に、私はかなり混乱しています。
- XML
app.config
ファイルを使用して、セクションに項目を追加できます<appSettings>
。ConfigurationManager
これらは、クラスを使用してコードから取得できます。 - または、Settings.settingsファイルを使用して、エディターを介して個々の設定を追加することもできます。Visual Studioは
Settings
、実行時に設定をタイプセーフに取得するためのクラスを生成します。
これらの2つのメカニズムは、同じ(またはほぼ同じ)目的を果たしているようです。いくつかの違いがあることは承知していますが、重複とその結果にも戸惑っています。たとえば、Visual Studioを使用してSettings.settings
ファイルに設定を追加すると、入力したすべての情報がファイルのエントリapp.config
としても表示されます。どうやら、同期メカニズムが存在します。ファイルの設定を変更すると、次にエディターでファイルを開いたときにVisualStudioからファイルapp.config
を更新するように求められます。Settings.settings
私の質問は次のとおりです。
- なぜ1つだけではなく2つのメカニズムなのか?
app.config
overを使用するための最も一般的なシナリオは何Settings.settings
ですか?- アプリが使用していて、デプロイ後に
Settings.settings
値を変更するとどうなりますか?すでにコンパイルおよび配布されているため、のapp.config
同期は発生しません。Settings.settings
ノート。このトピックに関する質問を検索しましたが、さらに混乱しています。たとえば、ここでのこの質問への回答はかなり矛盾しており、あまり光を当てていません。
注2.これがapp.config
設計時のファイル名であることを認識しており、VisualStudioがファイルを実行可能フォルダーにコピーして名前を変更するダイナミクスに精通しています。