Я заметил, что на нескольких машинах файл user.config моего приложения каким-то образом поврежден и при открытии пуст. Я не могу понять, почему это произошло. Есть ли что-то общее, что могло бы вызвать это? Любой способ безопасно предотвратить это?
Мой второй вопрос: как мне восстановить состояние? Я ловлю исключение и удаляю файл user.config, но не могу найти способ восстановить конфигурацию без перезапуска приложения. Все, что я делаю с объектом Properties, вызывает следующую ошибку:
«Не удалось инициализировать систему конфигурации»
Сброс, перезагрузка и обновление ничего не делают для решения проблемы.
Вот мой код для удаления после исключения:
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);
}