「.NET アプリに設定を保存するにはどうすればよいですか?」というような質問に対する回答をよく目にします。次のように、手動で app.config (または web.config) にエントリを追加して、app.config ファイルを編集します。
<configuration>
<appSettings>
**<add key="ConfigValueName" value="ABC"/>**
</appSettings>
</configuration>
次に、次のようにアクセスします。
string configValue = Configuration.AppSettings["ConfigValueName"];
上で概説したアプローチを「app.config」アプローチと呼びます。プロジェクトに「設定」ファイルを追加することを勧める人はめったにいません。私はこれをウェブやスタックオーバーフローで何度も見てきました...何かが足りないのではないかと思い始めています...なぜなら、「設定" ファイル。私は VS2005 まで .NET を使用していなかったので、私が持っている 1 つの理論は、これは VS2003 で行われた方法であり、人々は決して切り替えなかったということですか?
app.config アプローチを推奨する人々の例:
私の見解では、「設定ファイル」アプローチには次の利点があります。
- アプリケーション設定 (すべてのユーザーに共通の設定) とユーザー設定の両方を同じインターフェイスから使用できます。
- Visual Studio で設定デザイナー サポートを使用する機能。XMLファイルを直接編集するよりもエラーが発生しにくいです。
- リファクタリング - 特定の設定名の名前を変更すると、コード内の参照が自動的に更新されます。
- コンパイルの型チェック。
- オートコンプリートのサポート。
- プロパティ グリッド機能。PropertyGrid コントロールは、クイック オプション フォームを作成するための非常に簡単な方法であることがわかりました。やるだけで
propertyGrid1.SelectedObject = Settings1.Default;
完了です。
「設定」ファイル アプローチの意味がわからない場合は、この投稿を参照してください。これは、app.confg の代わりに設定ファイルを使用することを推奨する数少ない例の 1 つです。
編集: 理解してください: このトピックの意図は、人々が設定ファイルのアプローチよりも上で概説した app.config アプローチを使用する理由を理解することです。私は、設定ファイルのアプローチの限界に直面し、時には独自のカスタム ソリューションをロールバックすることを余儀なくされました。それはまったく別の議論です。