Автоматически создавать файл 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() это самая важная часть! Это очищает некоторый кеш. Если вы забудете эту часть, изменения не будут записаны в файл.

Привет из Германии,

Кристиан Хасе

Другие вопросы по тегам