Где хранятся 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