Автоматически создавать файл user.config в развернутом приложении
Я кодирую VB.Net AddIn для внешнего вида (отсюда его VBA
с .NET
). Это дополнение к стандартному экрану "Элемент календаря". Все идет хорошо Но у меня есть третья форма с двумя текстовыми полями, которые показывают мне путь к файлу running assembly
и user.config
путь с двумя кнопками "Open in Explorer..."
,
НО: файла user.config нет в начале. Родительский каталог и сам создается, когда я изменяю настройку во второй форме и сохраняю ее в первый раз.
Я попытался сохранить настройки пользователя в методе form_Initialization моей основной формы, My.Settings.save()
, но это не сгенерирует user.config
файл, который нечетный. Это должно быть то же самое, что я делаю во втором классе.
Вы можете мне помочь? Мне нужен файл user.config прямо в начале третьей формы.
Код, который генерирует user.config
файл:
Private Sub BtnSaveSettings_Click(sender As Object, e As EventArgs)
If (CmbxDebugOption.Text <> "") And (CmbxOnBootActive.Text <> "") Then
' save active start option
If CmbxOnBootActive.SelectedItem.ToString.ToLower = "ja" Then
My.Settings.ActiveOnStart = True
ElseIf CmbxOnBootActive.SelectedItem.ToString.ToLower = "nein" Then
My.Settings.ActiveOnStart = False
End If
' save debug option
If CmbxDebugOption.SelectedItem.ToString.ToLower = "deaktiviert" Then
My.Settings.AlwaysDebug = False
My.Settings.OnetimeDebug = False
ElseIf CmbxDebugOption.SelectedItem.ToString.ToLower = "nur einmal" Then
My.Settings.AlwaysDebug = False
My.Settings.OnetimeDebug = True
ElseIf CmbxDebugOption.SelectedItem.ToString.ToLower = "immer aktiv" Then
My.Settings.AlwaysDebug = True
My.Settings.OnetimeDebug = False
End If
My.Settings.Save()
End If
' Close Form
Me.Close()
End Sub
1 ответ
Я нашел решение для себя. Я создал переменную в My.Settings
называется FirstRunAfterInstall
, который я поставил False
на первом прогоне моей основной формы. Я также установил другие переменные на некоторое значение по умолчанию, а затем сохранил весь беспорядок Файл будет записан на ваш жесткий диск.
Выглядит так:
If My.Settings.FirstRunAfterInstall Then
My.Settings.FirstRunAfterInstall = False
My.Settings.ActiveOnStart = False
My.Settings.OnetimeDebug = False
My.Settings.AlwaysDebug = False
My.Settings.Save()
End If
My.Settings.Save()
это самая важная часть! Это очищает некоторый кеш. Если вы забудете эту часть, изменения не будут записаны в файл.
Привет из Германии,
Кристиан Хасе