1. ホーム
  2. c#

[解決済み] ConfigurationManager.AppSettings - 変更と保存はどのように行うのですか?

2023-03-03 13:43:46

質問

私は記事で提案されているのと同じことをしているのですが、期待通りに動作しません。誰かが正しい方向に私を導くことができることを願っています。

AppSettingsごとにusersettingsを保存したいです。

Winformが閉じられたらこれをトリガーにします。

conf.Configuration config = 
           ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

if (ConfigurationManager.AppSettings["IntegrateWithPerforce"] != null)
    ConfigurationManager.AppSettings["IntegrateWithPerforce"] = 
                                           e.Payload.IntegrateCheckBox.ToString();
else
    config.AppSettings.Settings.Add("IntegrateWithPerforce", 
                                          e.Payload.IntegrateCheckBox.ToString());

config.Save(ConfigurationSaveMode.Modified);

つまり、エントリーがまだ存在しない最初の時は単に作成し、そうでない時は既存のエントリーを修正するのです。 しかし、これは保存されません。

1) 私は何を間違えているのでしょうか?

2) App settingsのusersettingsはどこに保存されるのでしょうか?DebugフォルダかC:Documents and SettingsUSERNAME Local SettingsApplication Dataフォルダのどちらでしょうか?

How to solved?

設定ファイルを追加することを検討すべきかもしれません。(例: App.Settings) このファイルを作成することで、以下のことが可能になります。

string mysetting = App.Default.MySetting;
App.Default.MySetting = "my new setting";

これは、項目を編集して変更することができ、項目が強く型付けされ、そして何よりも...デプロイする前にどんなxmlにも触れる必要がないことを意味します!

結果は、アプリケーションまたはユーザーのコンテキスト設定です。

設定ファイルのために、"add new item"メニューで見てください。