8

コンピューターのすべてのユーザー間で共有されるアプリケーションの設定が必要ですが、実行時に変更することもできます。その継ぎ目は単純ですが、Application Settings MSDN articleによると、どちらか一方です。

スコープに基づいて、2 種類のアプリケーション設定があります。

  • アプリケーション スコープの設定は、Web サービスの URL やデータベース接続文字列などの情報に使用できます。これらの値は、アプリケーションに関連付けられています。したがって、ユーザーは実行時にそれらを変更できません。

  • ユーザー スコープの設定は、フォームの最後の位置やフォント設定の保持などの情報に使用できます。ユーザーは実行時にこれらの値を変更できます。

app.config XML ファイルを編集するコードを書くことはできますが、プログラム ディレクトリにあるため、Windows 7 では保護されています。そのため、プログラムを昇格させたり、NTFS 権限で遊んだりしない限り、これは不可能です。

そのため、構成ファイルを のような共通フォルダーに書き込む必要がありますSystem.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

しかし、これはかなり一般的な要件です。

だから、車輪を再発明せずにこれを達成する簡単な方法があるのか​​ 、それとも独自のSetting Managerを書く必要があるのか​​ 疑問に思っています。

4

3 に答える 3

4

私は同様の問題を抱えており、独自の設定クラスを作成することになりました。とても基本的なことでした。必要なプロパティを含む Settings クラスと、XmlSerializer を介してファイルに/からオブジェクトを単純にシリアル化/逆シリアル化する Save() および Load() メソッドを含む SettingsManager を作成しました。

はい、それはあなた自身のコードですが、非常に単純なコードであり、必要なものを提供するコンポーネントがあるかどうか、およびそれをカスタマイズする方法を見つけようとするよりも時間がかかりません。

于 2013-04-30T19:11:14.740 に答える