Não consegui pensar em um lugar melhor para colocar isso, mas aqui está uma razão exata pela qual isso está quebrado no .Net Core 3.1
Acabei de começar a trabalhar em um programa em .Net Core 3.1 no Windows (usando Forms especificamente) e meu primeiro controle a adicionar foi um combo GridView + DataTable. Funciona bem até você tentar rolar usando o mouse (sim, a barra de rolagem funciona bem pelo que tentei)
Depois de rolar a grade, o formulário travará e fornecerá este erro:
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
Forneci o motivo dessa falha na minha primeira frase e mudarei para uma versão diferente do .Net Core apenas para evitar isso até que eu saiba que isso foi resolvido.
https://github.com/picoe/Eto/wiki/GridView
Obrigado por dar uma olhada no meu problema :)
Obrigado por relatar o problema. Parece que o DataGrid foi removido no .NET Core 3.1, junto com vários outros. Consulte https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed -controls.
Precisaremos remover a referência àqueles em Eto.WinForms ao compilar para .NET Core.
Obrigado por relatar o problema. Parece que o DataGrid foi removido no .NET Core 3.1, junto com vários outros. Consulte https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed -controls.
Sim, eu já mencionei isso no topo do meu problema, ainda bem que é conhecido 👍
Ah, não percebi que você vinculou à mesma página .. 😄 Obrigado novamente, isso deve ser relativamente fácil de corrigir, embora a questão seja adicionar ou não um netcoreapp31 TFM ou apenas #if for 3.0+..
Estou pensando que adicionar um novo TFM irá expor esses problemas como erros de compilação em vez de ter que lidar com eles de outra forma, então isso deve ser melhor.
Obrigado por registrar o problema! Isso deve ser corrigido na compilação de CI mais recente e será incluído no 2.5.1.