Почему файл user.config пуст? И как восстановить без перезагрузки?

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

Мой второй вопрос: как восстановить состояние? Я ловлю исключение и удаляю файл user.config, но не могу найти способ восстановить конфигурацию без перезапуска приложения. Все, что я делаю с объектом «Свойства», вызывает следующую ошибку:

«Ошибка инициализации системы конфигурации»

Сброс, перезагрузка и обновление не решают проблему.

Вот мой код для удаления после исключения:

catch (System.Configuration.ConfigurationErrorsException ex)
{
    string fileName = "";
    if (!string.IsNullOrEmpty(ex.Filename))
        fileName = ex.Filename;
    else
    {
        System.Configuration.ConfigurationErrorsException innerException = ex.InnerException as System.Configuration.ConfigurationErrorsException;
        if (innerException != null && !string.IsNullOrEmpty(innerException.Filename))
            fileName = innerException.Filename;
    }
    if (System.IO.File.Exists(fileName))
        System.IO.File.Delete(fileName);
}
19
задан Wai Ha Lee 21 September 2015 в 22:42
поделиться