Настройки проекта: фактическая разница между областями приложения и пользователя?

#c# #visual-studio-2010

#c# #visual-studio-2010

Вопрос:

Я хочу знать, в чем фактическая разница между областью приложения и пользователя в конфигурации настроек для vs projects.

Единственная разница заключается в том, что если я выберу приложение, я не смогу использовать его Settings.MyProperty в качестве установщика, но я должен использовать Settings["MyProperty"] вместо этого?

Как использование области пользователя повлияет на программу в противном случае, если файл конфигурации расположен в корне моего приложения?

Ответ №1:

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

Если вы измените настройки приложения (с помощью Settings["MyProperty"] ) и настройки вызова.Save () вам придется запускать от имени администратора, потому что изменения сохраняются в MyApplication.exe.config . И изменения применяются ко всем пользователям.

Комментарии:

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

2. Но вы можете изменить / сохранить их в любом случае, просто не через сгенерированные свойства.

Ответ №2:

Лучше всего использовать настройку «Пользователь», потому что в новых операционных системах Windows не нравится, когда вы читаете и записываете файлы, которые являются локальными для вашего исполняемого файла, это выглядит подозрительно из-за осведомленности о вирусах. Итак, Windows любит, чтобы вы читали и записывали в назначенные безопасные области, что, я полагаю, происходит в некоторой области данных приложения, которую отслеживает операционная система. Если вы установите для области ‘Application’ значение ‘Application’, оно может попытаться записать эти данные в локальный конфигурационный файл (именно поэтому вам нужно запускаться с правами администратора), а поскольку операционные системы становятся все более заблокированными, все еще могут возникнуть проблемы с этим. Ваше приложение может работать в XP подобным образом, но что-то более новое может не работать, особенно когда приложения запускаются в ‘c:Program Папки файлов…