我有一個用戶給我的崩潰報告從調用Settings.Upgrade()
:我的user.config設置文件如何被破壞?
System.Configuration.ConfigurationErrorsException: Root element is missing.
我讓他給我他的user.config文件,該文件是全零。不知怎的,它已經腐敗了。
我找到了一種通過在%localappdata%\ MyAppName目錄中生根並刪除所有用戶配置文件並重新啓動應用程序來從中恢復的方法。如果我讓應用繼續執行,則會進一步提供ConfigurationErrorsException
s。
這種腐敗可能是我做過的事情的結果嗎?我有幾千個用戶的基礎上有多個報告,但我沒有直接搞亂那個文件。有沒有其他人遇到這個user.config損壞?
我認爲一切都只是在常規的.NET 4.至於第二篇文章,獲取違規文件的確切路徑是一個很好的技巧,用於單擊損壞的文件而不是批量刪除。我會改變我的處理,而不是使用它。 – RandomEngy
我在幾千個已安裝的應用程序上遇到過4次相同的問題。這發生在電源故障期間。刪除文件會使應用程序正常工作,但您將失去用戶的設置。道德:不要使用微軟的設置,或者更好的做法是改用webapps。 –
後續工作:我現在正在使用SQLite存儲設置,這對於這種損壞具有適應性。我沒有像這樣的問題。 – RandomEngy