删除损坏的user.config而不是System.ConfigurationErrorException

时间:2019-05-01 11:53:50

标签: c# app-config

我正在使用user.config存储我的应用程序设置。例如,我可以使用Properties.Settings.Default.Setting1访问C#中的设置,并且user.config文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <userSettings>
        <MyApp.Properties.Settings>
            <setting name="Setting1" serializeAs="String">
                <value>ABCDEF</value>
            </setting>
        </MyApp.Properties.Settings>
    </userSettings>
</configuration>

但是当我的user.config由于某种原因而损坏时,我的应用程序因以下System.ConfigurationErrorException而崩溃。

在这种情况下,我希望应用程序删除损坏的user.config文件并以默认设置开始。

有没有办法做到这一点?

更新

我已经看到在见user.config corruption issueUser.config corruption之前已经问过这个问题。

但是,如果我尝试以下代码

// Check for corrupt settings
try
{
    var dummy = Properties.Settings.Default.Setting1;
}
catch (ConfigurationErrorsException exception)
{
    Console.WriteLine("Settings are corrupt!");
    File.Delete(exception.Filename); 
}

exception.Filenamenull。而且,如果我在ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal)块中使用try,则并非在所有情况下都会引发异常。

0 个答案:

没有答案
相关问题