Где хранятся My.Settings в VB 2010.NET?
Значения My.Settings
сохранены в самой программе или они сохраняются в реестре? Так, например, если я устанавливаю значение My.Settings
с помощью программы, то я сам копирую программу на другой компьютер - значение My.Settings
все еще установлено?
Ответы
Ответ 1
Это зависит от области, которую вы выбрали. Существуют две настройки области - Область приложения и пользователя.
Из статьи MSDN:
Параметры области приложения доступны только для чтения и разделяются между всеми пользователей этого приложения. Эти настройки сохраняются в app.config файл в разделе. Во время выполнения app.config файл будет находиться в вашей папке bin и будет называться с вашим имя приложения (MySettingsDemo.exe.config).
Параметры пользовательской области предназначены для каждого пользователя. Они могут быть прочитаны и безопасно устанавливать код приложения во время выполнения. Эти настройки хранится в файле user.config. Чтобы быть технически точными, есть два user.configs для каждого пользователя на приложение: одно для не-роуминга и одно для роуминга. Хотя в документации Visual Basic 2005 указано, что файл user.config будет называться в соответствии с именем пользователя (joe.config), это не так. Файл user.config создается в:
<c:\Documents and Settings>\<username>\[LocalSettings\]ApplicationData\<companyname>\<appdomainname>_<eid>_<hash>\<verison>.
Ответ 2
Они определенно не хранятся в программе, если они являются пользовательскими настройками, которые не очень легко реализовать и, скорее, бессмысленны. Скорее, они хранятся в файле конфигурации в папке% AppData%. Так что нет, если вы скопировали программу, пользовательские настройки не появятся с ней, просто настройки приложения.
Ответ 3
Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal)
MessageBox.Show(config.FilePath)
Ответ 4
Если вы установили приложение с помощью clickonce, ваши MySettings будут сохранены в файле конфигурации, который хранится в `C:\Users\\AppData\Local\Apps\2.0\Data........
найдите в этом пути файл с именем yourapp.exe.config
Дело в том, что MySettings будет храниться в файле app.config этого приложения и после публикации файла app.config будет сохранен как файл applicationname.exe.config