我注意到在我的应用程序的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);
}
Run Code Online (Sandbox Code Playgroud) 在阅读标准.Net用户设置时,我们遇到了罕见的异常(这是VS 2008中"项目属性"中的设置):
System.Configuration.ConfigurationErrorsException was caught
Message="Configuration system failed to initialize"
Source="System.Configuration"
BareMessage="Configuration system failed to initialize"
Line=0
StackTrace:
at System.Configuration.ConfigurationManager.PrepareConfigSystem()
at System.Configuration.ConfigurationManager.GetSection(String sectionName)
at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
at System.Diagnostics.DiagnosticsConfiguration.Initialize()
at System.Diagnostics.DiagnosticsConfiguration.get_IndentSize()
at System.Diagnostics.TraceInternal.InitializeSettings()
at System.Diagnostics.TraceInternal.get_Listeners()
InnerException: System.Configuration.ConfigurationErrorsException
Message="Unexpected end of file has occurred. The following elements are not closed: setting, SettingsTest.Properties.Settings, userSettings, configuration. Line 7, position 1. (C:\\Documents and Settings\\USER\\Local Settings\\Application Data\\Hitcents\\SettingsTest.vshost.exe_Url_ghwhc20utv4toanuinmj0pfsljthcugo\\1.0.0.0\\user.config line 7)"
Source="System.Configuration"
BareMessage="Unexpected end of file has occurred. The following elements are not closed: setting, SettingsTest.Properties.Settings, …
Run Code Online (Sandbox Code Playgroud)