Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# user.config损坏问题_C#_.net_Vb.net - Fatal编程技术网

C# user.config损坏问题

C# user.config损坏问题,c#,.net,vb.net,C#,.net,Vb.net,在桌面应用程序项目中,我们使用设置变量存储应用程序的用户设置。此外,对于每个最新版本的应用程序,我们都会升级这些变量以保留用户设置 正常情况下,这可以正常工作,但最近我的一位最终用户报告了一个错误,即配置系统未能初始化。该错误与user.config文件有关。因此,我们要求用户向我们发送他的文件 收到文件夹后,我们注意到它包含3个文件(c3begfjb.newcfg,c3begfjb.tmp和user.config)c3begfjb.tmp是一个空文件,而c3begfjb.newcfg和user

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

正常情况下,这可以正常工作,但最近我的一位最终用户报告了一个错误,即
配置系统未能初始化
。该错误与
user.config
文件有关。因此,我们要求用户向我们发送他的文件

收到文件夹后,我们注意到它包含3个文件(
c3begfjb.newcfg
c3begfjb.tmp
user.config
c3begfjb.tmp
是一个空文件,而
c3begfjb.newcfg
user.config
是相同的文件。我们试图打开这些文件,但
user.config
中的数据不是正确的xml,而是无法读取的格式化文件


你们有没有遇到过这种问题,或者知道是什么和如何创建了这些文件并损坏了
user.config
文件。

本文可能会有所帮助

                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);
                }


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

磁盘坏了,没有什么异常。告诉你的用户修理他的机器。@Maverick-我感觉到你的痛苦。我有一个应用程序经常遇到这个问题。通常用户会告诉我这是在重新启动时发生的,可能是Windows update自动重新启动。如果检测到损坏的设置文件,则这似乎也是删除文件的副本。上面的代码片段就是这样做的。这实际上会在user.config文件实际损坏以外的情况下引发异常。例如,如果应用程序的另一个实例已在user.config上具有文件锁定,则即使user.config未损坏,也会引发ConfigurationErrorsException。在继续删除之前,应该检查内部异常(本例中为IOException)。