Повреждение user.config

Кто-нибудь знает причину "случайного" повреждения user.config? Я столкнулся с этой проблемой в приложении WinForms на производственной линии моего клиента. Обнаружил ту же проблему в Интернете и обходной путь, но я не могу понять, потому что это происходит.

3 ответа

Ты пробовал Properties.Setting.default.reset()?

Я не уверен, почему это происходит, но ты не один, чувак! Я также пробовал разные вещи, чтобы обойти это. Я написал свои собственные классы обработки конфигурации с пользовательской сериализацией. Все, что я могу вам сказать, это лучше, но теперь все еще там.

Одно наблюдение, которое я недавно сделал, заключается в том, что повреждение происходит, когда компьютер перезагружается (например, из-за обновлений Windows) во время работы моего приложения.

Следующее, что нужно попробовать, это перехватить эти события завершения работы и попытаться не записывать в файл конфигурации в этой ситуации.

Основная идея состоит в том, чтобы предотвратить сохранение настроек при выходе из приложения. для этого вам нужно сохранить все настройки после их изменения с помощью my.setting.save. В приложении есть настройка для автоматического сохранения настроек при выходе из приложения. также вы можете добавить при запуске приложения, чтобы проверить, не повреждены ли настройки, затем удалить файл и перезапустить приложение.

              Try
            Dim a = My.Settings.Language
        Catch ex As System.Configuration.ConfigurationErrorsException
            Dim filename As String = TryCast(ex.InnerException, System.Configuration.ConfigurationErrorsException).Filename
            System.IO.File.Delete(filename)
            MySettings.Default.Reload()
            System.Windows.Forms.Application.Restart()
        End Try
Другие вопросы по тегам