Запись / чтение пользовательских настроек в файле app.config - PullRequest
0 голосов
/ 16 августа 2011

Я пытаюсь прочитать и записать в файл app.config пользовательских настроек. Я нашел фрагмент кода для работы с файлом Confige. Я, наконец, получил его компиляцию и запуск, но, похоже, он абсолютно ничего не делает с файлом App.config.

Вот код:

Method MainForm1.Button1.Click(sender: System.Object; e: System.EventArgs);
var
config  : System.Configuration.Configuration;
begin
     config:=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
     config.AppSettings.Settings.Add('PreferenceToRemember','value1');
     config.Save(ConfigurationSaveMode.Modified);
     ConfigurationManager.RefreshSection('appSettings');
end;

Он компилируется без ошибок, но я не знаю, что он делает.

Что-то не так с кодом? Мне нужно уметь писать / читать раздел и писать / читать ключ / значение. Заранее спасибо.

ОБНОВЛЕНИЕ: вместо использования ConfigurationManager я просто использую Properties.Settings.Default. Тем не менее, у меня возникли некоторые проблемы с записью в него и чтением из него, хотя программа выполняет без каких-либо ошибок, и код кажется простым.

Как вы читаете и пишете в Properties.Settings.Default из своего кода?

1 Ответ

1 голос
/ 17 августа 2011

Может быть, вы смотрите не на тот файл?Файл app.config, который вы используете в своем решении, будет скопирован в YourProgramFile.exe.config в папке bin / Debug или bin / Release.При запуске вашей программы она обновит этот файл, а не файл app.config в вашем решении.

Тогда, возможно, вам также следует проверить права на запись в папку вашего приложения.Обычно (Win Vista, Win 7) пользователь, выполняющий приложение, не имеет разрешений на запись в папке Program Files, где должно находиться ваше приложение, поэтому обновление .config, скорее всего, завершится неудачей из-за отсутствия разрешений на запись.Это еще более верно для систем Linux / Unix.

Вы должны попытаться разделить элементы, которые вам нужны для записи, и записать дополнительный файл конфигурации в пользовательскую папку.Изначально вы можете взять значения по умолчанию из обычного конфига приложения для этого и просто обновить пользовательский файл конфигурации, таким образом, вам не мешают права доступа к файлу, и каждый пользователь может обновить свои настройки специально.

...