#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 Папки файлов…