Tôi đã có một người sử dụng gửi cho tôi trong một báo cáo tai nạn từ một cuộc gọi đến Settings.Upgrade()
:Tệp cài đặt user.config của tôi bị hỏng như thế nào?
System.Configuration.ConfigurationErrorsException: Root element is missing.
Tôi có anh gửi cho tôi tập tin user.config mình và tập tin là tất cả zero. Nó đã bị hư hỏng bằng cách nào đó.
Tôi tìm thấy một cách để khôi phục từ nó bằng cách rễ xung quanh thư mục% localappdata% \ MyAppName và xóa tất cả các tệp cấu hình người dùng và khởi chạy lại ứng dụng. Nếu tôi để ứng dụng tiếp tục thực thi, nó sẽ cung cấp thêm ConfigurationErrorsException
s.
Tham nhũng này có thể là kết quả của việc tôi đã làm không? Tôi đã có nhiều báo cáo của nó từ một cơ sở của một vài nghìn người sử dụng, nhưng tôi đã không được rối tung với tập tin đó trực tiếp. Có ai khác chạy vào tham nhũng user.config này?
Tôi nghĩ mọi thứ đều ở dạng .NET thường xuyên. Đối với bài viết thứ hai, việc tìm đường dẫn chính xác đến tệp vi phạm là một mẹo tốt để chọn ra tệp bị hỏng thay vì thực hiện xóa hàng loạt. Thay vào đó, tôi sẽ thay đổi cách xử lý của mình để sử dụng nó. – RandomEngy
Tôi đã gặp phải cùng một sự cố 4 lần trên vài nghìn ứng dụng đã cài đặt. Điều này xảy ra trong quá trình mất điện. Xóa tệp khiến ứng dụng hoạt động tốt, nhưng bạn mất cài đặt của người dùng. Đạo đức: không sử dụng các cài đặt từ Microsoft, hoặc, tốt hơn, hãy làm các ứng dụng web thay thế. –
Theo dõi: Tôi hiện đang lưu trữ các cài đặt bằng cách sử dụng SQLite, có khả năng chống lại kiểu tham nhũng này. Tôi đã không có thêm vấn đề như thế này. – RandomEngy