全新的.NET Core Telerik WinForms设计器已经发布一段时间了,在今年发布的R3 2020中已正式发布。随着.NET Conf 2020的结束,.NET 5.0官方已正式发布,现在本文将为大家介绍Telerik WinForms对.NET Core和.NET 5.0中的Visual Studio WinForms设计时的支持。 为什么选择新的设计器?简单来讲,由于基础架构发生变化,所有需要新的设计器。在Visual Studio设计图面中使用.NET Core控件,将会非常复杂。仅因为Visual Studio依赖于直接与正在设计的组件进行交互,所以旧方法永远无法与.NET Core组件一起使用。 尽管.NET Framework控件可以做到这一点,但它不适用于.NET Core控件。Visual Studio是在.NET Framework之上和Visual Studio进程内部(devenv.exe)构建的桌面应用程序,您无法访问.NET Core组件。 由于无法与组件交互,因此需要新的解决方案、需要新的体系结构。 新的方法一年多以前,Microsoft发布了WinForms设计器的第一个预览版。 当时它缺少许多功能,并且缺少扩展点和API以允许自定义设计器使用。从那时起,选择解决方案仍处于重要地位。设计时分为三层:客户端、协议和服务器,客户端层是Visual Studio的一部分,它以经典的.NET Framework为目标;服务器层是.NET Core组件所在的地方,它在单独的.NET Core进程中运行;协议层是多目标 - .NET Framework和.NET Core - 并负责处理来自客户端的请求以及处理来自服务器的响应和通知。
大多数设计器代码都驻留在服务器上,尤其是所有控件设计器、自定义CodeDom序列化程序、操作列表等,仍然有部分设计器需要在客户端中实现。这些部分包括处理用户输入的任何代码,通常是编辑器。 该协议是允许客户端和服务器相互沟通的通信层,它建立在JSON-RPC标准的基础之上,它使两个不同的世界(.NET Framework和.NET Core)可以进行连接。 Designer APIMicrosoft将发布WinForms Designer SDK NuGet程序包,其中提供在Visual Studio for .NET Core中实现自定义设计时所需的所有扩展点和基类,该SDK基本上替代了.NET Framework和Windows本身的经典设计器API和程序集。新的WinForms设计时是独立的,并且在某种程度上是自给自足的,它与操作系统无关,并且仅与Visual Studio有关。 该SDK已引入Visual Studio,提取并利用了客户端项目中的自定义设计器代码。 Telerik UI for WinForms Designertelerik是第一家将新的Microsoft API用于Visual Studio .NET Core设计时的控件供应商,其.NET Core设计器已经发布一段时间了。在2020年9月中旬发布了它们,当时的目标是最新的.NET 5.0 preview。一个月后,在R3 2020 SP1版本中,telerik增加了对.NET Core 3.1的支持。目前所有的设计器都已迁移,并且已经获得与经典.NET Framework中相似的设计时体验。 这是在.NET 5.0项目的Visual Studio设计器中打开的全能RadGridView:
根据API规范,设计器需要在NuGet包内实现。 任何自定义设计器都将需要针对新的Microsoft WinForms Designer SDK,该SDK还将加入Visual Studio,并且在将来的Visual Studio版本中,SDK中的重大更改可能会破坏为旧版SDK开发的设计器。 随着时间的流逝,SDK将逐渐成熟,重大更改将变得罕见。 现在,最好注意Telerik版本和Visual Studio版本,并检查它们是否兼容。 Telerik Version | Visual Studio Version | HotFix v2020.3.1116-hotfix | Visual Studio 2019 Preview v16.9 Preview 1 | R3 2020 SP1 v2020.3.1020 | Visual Studio 2019 v16.8 GA
Visual Studio 2019 Preview v16.8 Preview 4 | R3 2020 v2020.3.915 | Visual Studio 2019 Preview v16.8 Preview 3 | 试试看确保下载并尝试使用Telerik UI for WinForms的最新版本,来探索所有新功能和主题:
|