user.config损坏问题

时间:2012-02-14 06:49:54

标签: c# .net vb.net

在我们的桌面应用程序项目中,我们使用设置变量来存储应用程序的用户设置。此外,对于每个最新版本的应用程序,我们都会升级这些变量以保留用户设置。

通常,这种方法很好,但最近我的一位最终用户报告了一个错误,即Configuration System failed to initialize。该错误与user.config文件有关。因此,我们要求用户将他的文件发送给我们。

收到该文件夹​​后,我们发现它包含3个文件(c3begfjb.newcfgc3begfjb.tmpuser.config)。 c3begfjb.tmp是一个空文件,而c3begfjb.newcfguser.config是相同的文件。我们尝试打开这些文件,但user.config中的数据不是正确的xml,而是其不可读的格式化文件。

你们有没有遇到过这类问题或任何想法如何以及可能创建了这些文件和损坏的user.config文件。

2 个答案:

答案 0 :(得分:1)

                try
                {
                    // preloads the settings file and throws an error if the settings file is corrupted
                    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
                }
                catch (ConfigurationErrorsException ex)
                {
                   File.Delete(ex.Filename);
                }

答案 1 :(得分:0)

这篇文章可能会有所帮助。

https://www.codeproject.com/Articles/30216/Handling-Corrupt-user-config-Settings

基本上这个过程是检查配置是否没有损坏,如果没有,则重置配置。