發生 Configuration system failed to initialize 錯誤的一個特例


一般情況下,.net 程序啟動時發生 Configuration system failed to initialize 錯誤, 大都與 config 文件中 <configSections> 的位置順序有關或者內容格式錯誤,這種情況調試就能遇到並解決。如果是運行時手動修改不小心搞壞了config 文件,從能正常運行的程序文件夾下復制對應的 config 文件也可以解決。

最近遇到了一個特例:

用戶稱前一天還能運行的程序,第二天死活啟動不了了,報錯信息就是 Configuration system failed to initialize。反復確認用戶沒有手動修改過 config 文件,而且從別的能正常啟動程序的機器上復制過來了 config 文件也不能解決問題。在來回檢查 config 文件內容時,突然看見有 <userSettings>,這部分數據在程序啟動后,是保存在 C:\Users\當前用戶\AppData\Local 下的程序集名稱文件夾中的,按圖索驥找到這個應用程序對應的 user.config,發現文件大小居然是 0 KB,於是直接刪除掉這個文件再重新啟動應用程序,問題解決。

事后向用戶了解,原來前一天在應用程序運行時發生突然斷電關機的情況,懷疑正好應用程序在自動保存 settings,斷電導致文件寫入失敗。等到第二天啟動時,應用程序找到有這個 user.config 文件,但是讀取不到任何數據,所以就報錯了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM