لم أستطع التفكير في مكان أفضل لوضع هذا فيه ، ولكن إليك سببًا محددًا لحدوث كسر في NET Core 3.1
لقد بدأت للتو في العمل على برنامج في .Net Core 3.1 على Windows (باستخدام النماذج على وجه التحديد) وكان أول عنصر تحكم أضفته هو مجموعة GridView + DataTable. يعمل بشكل جيد حتى تحاول التمرير باستخدام الماوس (نعم ، يعمل شريط التمرير بشكل جيد مما جربته)
بمجرد التمرير في الشبكة ، سيتعطل النموذج وسيظهر هذا الخطأ:
Unhandled exception. System.TypeLoadException: Could not load type 'System.Windows.Forms.DataGrid' from assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
at Eto.WinForms.ScrollMessageFilter.IsScrollable(Control control)
at Eto.WinForms.ScrollMessageFilter.PreFilterMessage(Message& m)
at System.Windows.Forms.Application.ThreadContext.ProcessFilters(MSG& msg, Boolean& modified)
at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FPreTranslateMessage(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Eto.WinForms.Forms.ApplicationHandler.Run()
at Eto.Forms.Application.Run(Form mainForm)
at Your.Program.Main(String[] args) in Your.Program.cs:line here
لقد قدمت سبب هذا الانهيار في جملتي الأولى ، وسأنتقل إلى إصدار مختلف من .Net Core فقط لتجنب ذلك حتى أدرك أن هذا قد تم حله.
https://github.com/picoe/Eto/wiki/GridView
شكرًا لإلقاء نظرة على مشكلتي :)
شكرا للإبلاغ عن هذه المسألة. يبدو أنه تمت إزالة DataGrid في .NET Core 3.1 مع العديد من البرامج الأخرى. راجع https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed -controls.
سنحتاج إلى إزالة الإشارة إلى تلك الموجودة في Eto.WinForms عند إنشاء .NET Core.
شكرا للإبلاغ عن هذه المسألة. يبدو أنه تمت إزالة DataGrid في .NET Core 3.1 مع العديد من البرامج الأخرى. راجع https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed -controls.
نعم لقد ذكرت بالفعل أنه في الجزء العلوي من مشكلتي ، سعيد لأنه معروف 👍
آه ، لم تدرك أنك مرتبط بالصفحة نفسها .. شكرًا مرة أخرى ، يجب أن يكون هذا سهل الإصلاح نسبيًا ، على الرغم من أن السؤال هو ما إذا كنت تريد إضافة netcoreapp31 TFM أم لا فقط إذا خرجت لـ 3.0+ ..
أفكر في إضافة آلية مالية جديدة ستكشف هذه المشكلات على أنها أخطاء تجميعية بدلاً من الاضطرار إلى التعامل معها بطريقة أخرى بحيث يكون ذلك أفضل.
شكرا لتقديم القضية! يجب إصلاح ذلك في أحدث إصدار من CI وسيتم تضمينه في 2.5.1.