Я не мог придумать лучшего места для этого, но вот точная причина, по которой это не работает в .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 .
Да, я уже упомянул это в начале своей проблемы, рад, что это известно 👍
Ах, не понял, что вы ссылаетесь на ту же страницу.. 😄 Еще раз спасибо, это должно быть относительно легко исправить, хотя вопрос в том, добавлять или нет TFM netcoreapp31 или просто #если это для 3.0+..
Я думаю, что добавление нового TFM выявит эти проблемы как ошибки компиляции вместо того, чтобы иметь дело с ними в противном случае, так что это должно быть лучше.
Спасибо за регистрацию проблемы! Это должно быть исправлено в последней сборке CI и будет включено в 2.5.1.