No podría pensar en un mejor lugar para poner esto, pero aquí hay una razón exacta por la que esto no funciona en .Net Core 3.1
Acabo de comenzar a trabajar en un programa en .Net Core 3.1 en Windows (usando Forms específicamente) y mi primer control para agregar fue un combo GridView + DataTable. Funciona bien hasta que intenta desplazarse con el mouse (sí, la barra de desplazamiento funciona bien por lo que he intentado)
Una vez que desplace la cuadrícula, el formulario se bloqueará y proporcionará este error:
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
Indiqué el motivo de este bloqueo en mi primera oración y cambiaré a una versión diferente de .Net Core solo para evitar esto hasta que sepa que se ha solucionado.
https://github.com/picoe/Eto/wiki/GridView
Gracias por echar un vistazo a mi problema :)
Gracias por informar el problema. Parece que DataGrid se eliminó en .NET Core 3.1, junto con muchos otros. Consulte https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed -controls.
Tendremos que eliminar la referencia a aquellos en Eto.WinForms al compilar para .NET Core.
Gracias por informar el problema. Parece que DataGrid se eliminó en .NET Core 3.1, junto con muchos otros. Consulte https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed -controls.
Sí, ya mencioné eso en la parte superior de mi problema, me alegro de que se sepa 👍
Ah, no me di cuenta de que te vinculaste a la misma página.
Estoy pensando que agregar un nuevo TFM expondrá estos problemas como errores de compilación en lugar de tener que lidiar con ellos de otra manera, por lo que debería ser mejor.
¡Gracias por archivar el problema! Esto debería corregirse en la última compilación de CI y se incluirá en 2.5.1.