Куда я делаю не так с сохранением пользовательских настроек? - PullRequest
0 голосов
/ 23 января 2012

У меня есть логическое значение, заданное пользователем. Я получаю к нему доступ через библиотеку классов, которая называется «Настройки». Эта библиотека классов имеет модуль со свойствами:

Module AppSettings
 Public Property MyBooleanSetting() As Boolean
    Get
        Return My.Settings.MyBooleanSetting
    End Get
    Set(ByVal value As Boolean)
        My.Settings.MyBooleanSetting = value
        My.Settings.Save()
    End Set
 End Property
End Module

Я определил настройку на страницах свойств библиотеки классов «Настройки».

Когда другой код манипулирует настройкой, он будет использовать такой код:

Settings.MyBooleanSetting=True

Пока работает код, это работает. Но после перезапуска приложения новое значение не сохраняется. Куда я иду не так?

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Спасите свое дыхание, ребята.Код работал в конце концов.Я использовал другое свойство в Viewmodel моего приложения, которое кэшировало Setting.MyBooleanSetting, но я забыл прочитать его при запуске приложения ...

2 голосов
/ 23 января 2012

Посмотрев на Использование My.Settings в Visual Basic 2005 Статья MSDN и эти Форум MSDN Потоки , я бы сказал, что вам нужно проверить, какой путьиспользуется.

Настройки области действия индивидуальны для каждого пользователя.Они могут быть прочитаны и безопасно установлены кодом приложения во время выполнения.Эти настройки хранятся в файле user.config.Если быть технически точным, то для каждого приложения существует два user.configs - одно для не роуминга и другое для роуминга.Хотя в документации по Visual Basic 2005 указано, что файл user.config будет именоваться в соответствии с именем пользователя (joe.config), это не так.Файл user.config создается в прикладных данных \ [Local Settings] \\ \.Где:
• - каталог пользовательских данных, не в роуминге (локальные настройки выше) или в роуминге.
• - имя пользователя.
• - значение CompanyNameAttribute, если доступно.В противном случае игнорируйте этот элемент.
• является AppDomain.CurrentDomain.FriendlyName.Обычно по умолчанию используется имя .exe.
• - это URL, StrongName или Path, основанные на свидетельстве, доступном для хэша.
• - это хэш SHA1 свидетельства, полученный из CurrentDomain, в следующем порядке:предпочтение:
a.StrongName
b.URL

Если ни один из них недоступен, используйте путь .exe.

• - это параметр AssemblyVersionAttribute для AssemblyInfo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...