Tại sao chế độ thiết kế bị lỗi trong studio trực quan?

lập trình


Tôi đã sử dụng Visual Studio từ lâu, phát triển các ứng dụng WinForms.

Mặc dù điều này luôn gây khó chịu nhưng tôi đã quen với thực tế là việc chuyển từ chế độ Mã sang chế độ Nhà thiết kế thường làm hỏng Trình thiết kế, hiển thị một ngăn xếp cuộc gọi không có ích gì đối với tôi. Nó cũng có thể xảy ra khi khởi chạy VS với một tệp đã mở trước đó trong Designer.

Trong những trường hợp như vậy, chỉ cần đóng và mở lại Trình thiết kế là có thể hoạt động.

Điều thú vị là điều này xảy ra với một số phiên bản Visual Studio, từ 2008 đến 2022. Nó xảy ra với nhiều dự án, thậm chí chỉ cho phép VS chạm vào giao diện người dùng (không hack mã đồ họa). Điều khiến tôi ấn tượng nhất là vấn đề dường như bị Microsoft bỏ qua (hầu hết họ đều tuyên bố rằng họ không thể tái tạo) và mặc dù nó được báo cáo dưới nhiều hình thức khác nhau trên các diễn đàn, nhưng tôi chưa bao giờ thấy lời giải thích cũng như cách khắc phục. Hay tôi là người duy nhất?

Tôi không theo đuổi một giải pháp, tôi muốn biết liệu những người khác có cùng trải nghiệm và cảm xúc hay không.

Những gì tôi đã thử:

Như đã nói, tôi đã cố gắng tìm kiếm phản hồi trên nhiều diễn đàn khác nhau nhưng không có kết quả.

Đối với những người tò mò, một ví dụ về màn hình Designer:

The data necessary to complete this operation is not yet available. (Exception from HRESULT: 0x8000000A) 

Instances of this error (1)  
 
1.   Hide Call Stack 
 
at Microsoft.VisualStudio.Designer.Interfaces.IVSMDCodeDomProvider.get_CodeDomProvider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_Provider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

コメント

タイトルとURLをコピーしました