界面控件DevExpress v24.1全新发布 - 跨平台性进一步增强

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布,该版本拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场景问题。

DevExpress官方已于近期全新发布v24.1,此版本包含了重点升级了控件的跨平台性,欢迎下载最新版产品体验!

DevExpress v24.1最新正式版下载(Q技术交流:532598169)

可访问性增强

可访问性支持仍然是最重要的工程优先级,因此在新版本中我们增强了键盘导航/屏幕阅读器支持,扩展了自动化功能和其他与易访问性相关的功能,以确保更好地符合WCAG中概述的标准。

这个版本包括对大多数桌面和Web组件套件的增强:

跨UI平台支持新的.NET DateOnly和TimeOnly类型

在.NET Core / .NET 6+应用程序中,新版本现在在数据感知的UI控件(如数据网格、树形列表、日期和时间编辑器)中支持DateOnly 和TimeOnly类型。

由于核心级别的变化( DevExpress.Data和DevExtreme.AspNet.Data库),现在支持客户端/内存和服务器模式数据源的这些数据类型(这两种数据类型都被上面列出的多个UI控件使用):

  • EntityServerModeSource / EntityInstantFeedbackSource
  • LinqServerModeSource / LinqInstantFeedbackSource
  • GridDevExtremeDataSource(针对ASP.NET Core / DevExtreme和基于Blazor的控件)

您可以根据DateOnly和TimeOnly值对数据(以及其他功能)进行排序、分组和筛选,新版本还扩展了标准语言如下:

  • 您可以在过滤器表达式和未绑定列中使用与日期/时间相关的函数(如AddHours、GetDays、DateDiffDays等)。
  • 您现在可以把DateOnly/TimeOnly常量用 '#' 和 '! '用于字符串过滤表达式:

OrderDate\] \>= #!2018-03-22!# \&\& \[OrderTime\] \>= #!18:22:00!# 由于以下与微软相关的突破性变化,这些新的数据类型对EF Core 8开发人员来说特别重要:[SQL Server date and time now scaffold to .NET DateOnly and TimeOnly](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/breaking-changes#sqlserver-date-time-only "SQL Server date and time now scaffold to .NET DateOnly and TimeOnly")。DevExpress客户即使不使用EF Core 8进行数据访问,也会从这个新功能中受益------重要的是底层数据库或可查询提供者支持新的数据类型(如Microsoft SQL Server with EF Core 8)。 DateOnly和TimeOnly是在 .NET 6.0中引入的,它们是映射数据库日期和时间类型的完美匹配。DateTime包含一个未使用的时间组件,在将其映射到日期时可能会导致混淆,而TimeSpan表示时间间隔(可能包括天数),而不是事件发生的一天中的某个时间。使用新的类型可以防止错误和混淆,并提供清晰的意图。 ***注意*** *:Microsoft和第三方软件包供应商没有在.NET框架上支持DateOnly和TimeOnly类型。此外,DevExpress官方还没有正式支持.NET框架和两个框架中的OData/XPO数据源的这个特性,鼓励用户迁移到.NET 6+来受益于新的数据类型。从技术上讲,官方在.NET和.NET之间共享部分代码库,所以不要混淆,.NET框架的DevExpress.Data库包含了 "shim" DateOnly和TimeOnly类型,如果您遇到与第三方兼容性包的任何冲突(例如一个或两个非官方支持),我们建议您删除这些包。* ###### **.NET 和 .NET Framework - 从Newtonsoft.Json迁移到System.Text.Json** 在最新的v24.1版本中,以下[DevExpress](https://www.evget.com/product/740 "DevExpress")产品将使用Microsoft的System.Text.Json替代Newtonsoft. Json来处理JSON序列化相关的任务: * 数据访问库:BI Dashboards (DashboardJsonDataSource) 和报表(JsonDataSource),支持.NET 6+ WinForms、WPF、Blazor、ASP. NET Core应用程序(.NET框架应用程序将继续使用Newtonsoft.Json库,期望在v24.2更新中切换到System.Text.Json)。 * 针对.NET 6+和.NET框架DevExtreme、Blazor和ASP. NET Core应用程序的数据访问库(DevExtreme.AspNet.Data v4.0.0+的System.Text.Json兼容版本现在可用) * .NET 6+非XAF应用程序(DevExtreme, Blazor, .NET MAUI等)和XAF应用程序的Backend Web API服务。 * .NET 6+ WinForms映射的WPF、Blazor、ASP.NET Core应用程序(.NET框架应用程序将继续使用Newtonsoft.Json库)中的地图。 * Blazor富文本编辑器(没有突破性的变化)。 新版本设计时代码(向导、设计器和工具)可能仍然会继续使用Newtonsoft.Json,因为Visual Studio中的依赖关系(一些设计时服务仍然依赖Newtonsoft.Json,但我们相信这种情况将来会改变)。目前依赖于Newtonsoft.Json的其他.NET框架产品可能会切换到System.Text.Json,这里我们依赖于DevExpress产品最低限度支持的.NET框架版本,该版本可能会在v24.2中从4.5.2更改为4.6.2。 ###### **重新生成NuGet API密钥(Feed)** 要重新生成NuGet API密钥,请导航到[https://nuget.devexpress.com/](https://nuget.devexpress.com/#feed-url "https://nuget.devexpress.com/")并单击generate Feed链接。 您的NuGet API密钥是敏感信息,应该保护它不被不受信任的第三方未经授权使用。如果您泄露了NuGet API密钥,需要尽快重新生成它。重新生成NuGet API密钥的情况或原因可能包括但不限于以下情况: * 您错误地将NuGet API密钥包含在公共论坛帖子、GitHub存储库、日志文件或其他授权位置。 * 之前可以访问NuGet Feed的团队成员已经离开了公司。 * 您知道或怀疑您的NuGet API密钥已被窃取或泄露。 ![DevExpress Reporting v23.2新版产品图集](https://img-blog.csdnimg.cn/img_convert/9d79427b599c3415a199445a0665ede0.png) ###### **DevExpress NuGet Server - 增强文档** 官方更新了在线文档 来解决用户反馈的使用场景问题,DevExpress NuGet feed(离线或在线)可用于Windows, Mac OS和Linux: * [选择离线和在线DevExpress NuGet feed](https://docs.devexpress.com/GeneralInformation/116042/nuget/obtain-your-nuget-feed-credentials "选择离线和在线DevExpress NuGet feed") * [在Visual Studio、VS Code和Rider中安装NuGet包](https://docs.devexpress.com/GeneralInformation/116698/nuget/setup-visual-studios-nuget-package-manager?v=24.1 "在Visual Studio、VS Code和Rider中安装NuGet包") * [与GitLab集成](https://docs.devexpress.com/GeneralInformation/400604/nuget/integrate-nuget-to-popular-continuous-integration-systems?v=24.1#gitlab "与GitLab集成") * [其他CI/CD系统的安全性最佳实践](https://docs.devexpress.com/GeneralInformation/404166/nuget/security-licensing-reliability-considerations?v=24.1#how-to-protect-your-private-nuget-feed-and-safely-consume-the-feed-from-external-systems "其他CI/CD系统的安全性最佳实践")

相关推荐
weixin_307779131 小时前
使用C#实现从Hive的CREATE TABLE语句中提取分区字段名和数据类型
开发语言·数据仓库·hive·c#
时光追逐者2 小时前
在 Blazor 中使用 Chart.js 快速创建数据可视化图表
开发语言·javascript·信息可视化·c#·.net·blazor
与火星的孩子对话3 小时前
Unity3D开发AI桌面精灵/宠物系列 【三】 语音识别 ASR 技术、语音转文本多平台 - 支持科大讯飞、百度等 C# 开发
人工智能·unity·c#·游戏引擎·语音识别·宠物
response_L3 小时前
国产系统统信uos和麒麟v10在线打开word给表格赋值
java·c#·word·信创·在线编辑
MasterNeverDown3 小时前
Swagger2Md:让WebAPI文档生成变得轻松高效
c#
向宇it3 小时前
【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍
开发语言·游戏·unity·c#·编辑器·游戏引擎
三天不学习3 小时前
Lucene.Net FSDirectory 和 RAMDirectory 的区别和用法 【搜索引擎系列教程】
搜索引擎·.net·lucene
闪电麦坤9512 小时前
C#:base 关键字
开发语言·c#
mingupup13 小时前
C#连接小智服务器并将音频解码播放过程记录
c#
爱吃奶酪的松鼠丶16 小时前
.net GRPC服务搭建,跨进程调用。C#应用和Python应用之间的通信。
python·c#·.net