que he tenido un usuario me envía en un informe de bloqueo de una llamada a Settings.Upgrade()
:¿Cómo se daña mi archivo de configuración de user.config?
System.Configuration.ConfigurationErrorsException: Root element is missing.
lo tengo que me envíe su expediente user.config y el archivo estaba todo ceros. Se había vuelto corrupto de alguna manera.
Encontré una manera de recuperarme de ella rastreando el directorio% localappdata% \ MyAppName y eliminando todos los archivos de configuración de usuario y relanzando la aplicación. Si dejo que la aplicación continúe la ejecución, dará más ConfigurationErrorsException
s.
¿Podría esta corrupción ser el resultado de algo que he hecho? He tenido varios informes de una base de unos pocos miles de usuarios, pero no he estado jugando con ese archivo directamente. ¿Alguien más se ha encontrado con este usuario.config corrupción?
Creo que todo está solo en .NET 4. En cuanto al segundo artículo, obtener la ruta exacta al archivo ofensivo es un buen truco para distinguir el archivo dañado en lugar de hacer una eliminación masiva. Voy a cambiar mi manejo para usar eso en su lugar. – RandomEngy
Me he encontrado con el mismo problema 4 veces en miles de aplicaciones instaladas. Esto ocurre durante fallas de energía. Eliminar el archivo hace que la aplicación funcione bien, pero pierde la configuración del usuario. Moral: no use la configuración de Microsoft, o mejor aún, haga webapps. –
Seguimiento: ahora estoy almacenando configuraciones usando SQLite, que es resistente contra este tipo de corrupción. No he tenido más problemas como este. – RandomEngy