1. ホーム
  2. c#

[解決済み] Properties.Settings.Defaultはどこに保存されていますか?

2022-04-25 08:59:04

質問

知っているつもりだったが、今日また間違いが証明された。

VS2008、.NET3.5、C#を実行中。 User settingsをProperties Settingsタブにデフォルト値で追加し、このコードを使って読み込んでいます。

myTextBox.Text = Properties.Settings.Default.MyStringProperty;

そして、ユーザーがオプションダイアログで値を編集した後、私はこのように保存します。

Properties.Settings.Default.MyStringProperty = myTextBox.Text;
Properties.Settings.Default.Save();

実行ディレクトリにあるMyApp.exe.configファイルは更新されず、デフォルト値が入ったままです。 さらに、私が知る限りでは、そのディレクトリ内の他のファイルも更新されていません! しかし、プログラムが値を読み戻すと、変更された値が取得されます。したがって、どこかに保存されていることは分かっています...

今朝、手動で値を編集する必要があったのですが、変化しているものが見つからず、困ってしまいました。

解決方法は?

Program Files フォルダへの読み取りアクセスのみをデフォルトで許可する Windows の新しいバージョンのポリシーに対応するため (UAC で昇格を要求しない限り、それは別の話題ですが)、アプリケーションは設定フォルダを %userprofile%\appdata\local または %userprofile%\Local Settings\Application Data は、お使いのWindowsのバージョンに応じて、ユーザー固有の設定に使用されます。全ユーザーの設定を保存する場合は、対応するフォルダーにある C:\users または C:\Documents and Settings をすべてのユーザプロファイルに適用します (例: C:\users\public\appdata\local ).