WPF/C#: Где я должен сохранить файлы пользовательских настроек?

Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_XXX

Случается, когда в неожиданном месте есть T_XXX токен , несбалансированные (лишние) круглые скобки, использование короткого тега без его активации в php.ini и т. д.

Вопросы, относящиеся:

Для получения дополнительной помощи см .:

  • http://phpcodechecker.com/ - что дает более полезные объяснения ваших синтаксических проблем.

53
задан Community 23 May 2017 в 02:09
поделиться

4 ответа

Можно использовать Параметры настройки приложения достаточно легко.

, Если Вы не сделали поэтому прежде просто щелчок правой кнопкой по проекту и выбираете Properties. Выберите вкладку Settings. Удостоверьтесь, что Вы выбрали "User" для объема (иначе, установка только для чтения).

код для доступа к этому прост:

forms.Width = Application1.Properties.Settings.Default.Width;

, Если необходимо сохранить его:

Application1.Properties.Settings.Default.Width = forms.Width;
Application1.Properties.Settings.Default.Save();

В образце выше, Ширина является пользовательским именем установки, которое Вы определяете на вкладке Settings, и Application1 является Пространство имен Вашего приложения.

Редактирование: Ответ на дальнейшие вопросы

Вы упомянули, что хотели хранить объекты Словаря в Настройках. Когда Вы обнаружили, Вы не можете сделать этого непосредственно, потому что объекты Словаря не являются сериализуемыми. Однако можно создать собственный сериализуемый словарь довольно легко. У Paul Welzer был превосходный пример на его блоге .

, у Вас есть несколько ссылок который вид грязных ситуация немного. Ваш исходный вопрос состоит в том, где сохранить "Файлы Пользовательской настройки". Я - намерение вполне уверенной Microsoft с функциональностью Настроек, точно что... храня пользовательские предпочтения кожи, выбор расположения, и т.д. Это не означало как универсальный репозиторий для данных приложения, хотя этим можно было легко злоупотребить тот путь.

данные хранятся в отдельных местах на серьезном основании. Некоторые настройки являются Параметрами настройки приложения и только для чтения. Это настройки, которые приложение должно функционировать, но не характерно для пользователя (например, URIs к ресурсам приложений или возможно налоговой ставке). Они хранятся в app.config.

настройки User хранятся в запутываемом каталоге глубоко в папке User Document/Settings. Значения по умолчанию хранятся в app.config (я думаю, не может вспомнить наверняка первое, что пришло на ум), но любые пользовательские изменения хранятся в их личной папке. Это предназначено для данных, которые изменяются от пользователя на пользователя. ("Пользователем" я имею в виду пользователя Windows, не пользователя Вашего приложения.)

Hope это разъяснило это несколько для Вас. Система на самом деле довольно проста. Это могло бы казаться немного внешним сначала, но после нескольких дней использования его Вы никогда не должны будете думать о нем снова..., это просто работает.

69
ответ дан Sailing Judo 7 November 2019 в 08:40
поделиться

При выполнении как неадминистратор или на Vista Вы не можете записать в папку "Program files" (или любую sub папку ее).

корректное местоположение для хранения пользовательской настройки (замените MyCompanyName и MyApplicationName с корректными именами, очевидно)

На диске:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\MyCompanyName\\MyApplicationName"

Или в реестре под ключом:

 HKEY_CURRENT_USER\Software\MyCompanyName\MyApplicationName

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

, Если Вам нужно общее местоположение для всех пользователей тогда:

  1. Это будет только работать, когда пользователь будет работать как администратор
  2. , Это не будет работать надежно над Vista
  3. , необходимо заботиться обо всем сами (как два пользователя, запускающие приложение на том же компьютере одновременно через быстрое переключение между пользователями).

и местоположения:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationCommonData) + "\\MyCompanyName\\MyApplicationName"

Или в реестре под ключом:

 HKEY_LOCAL_MACHINE\Software\MyCompanyName\MyApplicationName
27
ответ дан Nir 7 November 2019 в 08:40
поделиться

Можно использовать изолированное устройство хранения данных. Можно изолировать пользователем, блоком и/или доменом.

Введение в Изолированное устройство хранения данных
http://msdn.microsoft.com/en-us/library/3ak841sy (По сравнению с 80) Типами .aspx

Изоляции
http://msdn.microsoft.com/en-us/library/eh5d60e1 (По сравнению с 80) .aspx

3
ответ дан meklarian 7 November 2019 в 08:40
поделиться

следующий вариант кажется лучшим:

Application.UserAppDataPath
1
ответ дан 7 November 2019 в 08:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: