user.config消失的原因不明,但是這問題會造成.net程式無法存取User Property參數並發生錯誤。
具體的解法就是先使用OpenExeConfiguration函式嘗試讀取user.config,若發生失敗則透過該函式回傳的設定檔路徑,刪除並重建之。
try {
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
}
catch (ConfigurationErrorsException ex) {
string filename = ex.Filename;
if (File.Exists(filename) == true) {
File.Delete(filename);
// 依需要決定後續的處置方式
Properties.Settings.Default.Upgrade();
Properties.Settings.Default.Reload();
}
else {
throw;
}
}

Leave a comment