質問

実行時にアプリケーション設定ファイルの 1 つのキーを変更しようとしていますが、機能しません。

私はそのようにしています:

ConfigurationSettings.AppSettings["XPTO"] = "HELLO";

ファイル上ではなくメモリ内でのみ変更されるようです。

誰かこれを行う方法を知っていますか?

ありがとう。

役に立ちましたか?

解決

私のものを見てください .NET設定ファイルの概要...要するに、ユーザースコープの設定が必要だと思います。より期待どおりに動作します。

編集: を使用している場合は、 Visual Studio の設定デザイナー, 次に、「スコープ」を「ユーザー」に変更するだけです。そうでない場合は、同等のことをプログラムで実行できるはずです。

他のヒント

のAppSettingsファイルが書き込み可能になるように設計されていません。などのWebサービスのURLの、DB接続文字列

:実行時に変更されません設定を記憶するように設計されているが、時間すなわちかけて変更されることがあります。

だから、あなたが再ロバ、この値がそこに格納されるべきかどうかを、実際にファイルを更新することは可能かもしれないが。

タグ...あなたのアプリは、ファイルの書き込み権限を持っていると仮定すると、


    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);  // the config that applies to all users
    AppSettingsSection appSettings = config.AppSettings;

    if (appSettings.IsReadOnly() == false)
    {
        appSettings("Key").Value = "new value";

        config.Save();
    }

私がスローされる可能性のあるすべての例外を無視しています...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top