NET 5早在v20.1.6起就已经进入兼容范围;但从后续版本演进看,产品线的最低目标框架不断上移,到了v23.2,WinForms、WPF、Blazor、XPO ORM等.NET相关产品最低要求已经提升到.NET 6;再到v24.2以后,WinForms和WPF的当前文档表明.NET 6已不再受支持,主线转向.NET 8及更高版本。也就是说,讨论DevExpress与net5、net6的关系,不能只问“能不能用”,而要先问“你准备使用哪个DevExpress版本”。
一、DevExpress支持net5吗
如果把问题理解为“DevExpress是否曾经支持.NET 5”,答案是支持,而且官方在2020年就发布了明确说明。社区公告写得很清楚,DevExpress controls、components、frameworks从v20.1.6起官方兼容.NET 5 Preview 6及以后版本;同一篇说明里还特别提到,WPF在.NET 5下支持当时可用的XAML Designer功能。这意味着,针对老项目或历史版本,DevExpress与net5的组合并不是传言,而是有正式口径可查。
1、先分清“历史支持”和“当前主线支持”
(1)从历史时间线看,v20.1.6开始,DevExpress已经进入.NET 5兼容阶段,这一点官方公告已经明确给出;
(2)但从今天的版本策略看,.NET 5并不是当前DevExpress主线推荐目标框架,因为后续最低版本要求已经持续上移;
(3)所以DevExpress支持net5吗,若是问老版本能不能配net5,答案偏向能;若是问新版本还适不适合继续用net5,结论就明显保守得多。
2、不同产品线对net5的保留周期并不一样
(1)WPF官方支持表显示,v20.1到v21.1支持.NET 5,v21.2到v22.1也继续支持.NET 5;
(2)但到了v22.2及以后,WPF的官方表已经不再把.NET 5列为支持目标;
(3)这说明DevExpress与net5的兼容不是永久维持,而是随着产品线升级逐步退出。
3、Web相关产品比桌面产品更早把最低要求抬到net6
(1)DevExpress官方在2022年明确宣布,ASP.NET Core Controls从v22.2起最低支持版本改为.NET 6;
(2)这项变化不仅影响ASP.NET Core Controls,还覆盖ASP.NET Core Reporting、Dashboard、Spreadsheet、RichEdit等相关Web方向能力;
(3)因此,如果你手里的项目是Web线,DevExpress与net5的兼容窗口通常会比桌面线更早结束。
二、DevExpress与net6兼容性列表
真正做DevExpress与net6兼容性列表时,不能只写一句“支持net6”,因为不同版本、不同产品线的结论差异很大。官方当前最清晰的做法,是直接看各产品线的支持表。
1、WPF的net6兼容区间比较清楚
(1)WPF官方表显示,v21.2到v22.1支持.NET 6;
(2)v22.2到v23.1继续支持.NET 6;
(3)v23.2到v24.1仍支持.NET 6,但从v24.2到v25.1开始,.NET 6已经不再受支持,当前v25.2也同样不支持.NET 6。
2、WinForms的net6兼容区间与WPF接近但停止点同样明显
(1)WinForms当前官方支持表列出,v23.1到v23.2支持.NET 6;
(2)v24.1仍支持.NET 6;
(3)但从v24.2到v25.1起,.NET 6不再受支持,当前v25.2也继续维持这一口径。
3、从产品策略看v23.2是一个重要分界点
(1)DevExpress在v23.2的官方公告中明确说明,WinForms、WPF、Blazor、ASP.NET Core、Reporting、Office File API、BI Dashboards、XAF WinForms/Blazor UI、Web API Service、XPO ORM等.NET相关产品最低要求提高到.NET 6;
(2)这意味着,从v23.2开始,net6不再只是“可以用”,而是许多产品线的最小入场版本;
(3)如果你做的是升级决策,v23.2往往就是“从旧兼容思路切到新主线思路”的分水岭。
三、DevExpress版本升级时怎么判断该留在net5还是转net6
很多团队真正纠结的,并不是手头查不到兼容表,而是知道表以后还不知道怎么选。更实际的判断方法,是先看当前项目绑定的DevExpress版本,再看产品线,再决定是维持net5、升级到net6,还是直接跨到更新的.NET版本。
1、老项目先看版本不要先看口号
(1)如果项目仍停留在v20.1.6到v22.1这一段,继续配net5或net6,通常更符合历史兼容路径;
(2)如果项目已经计划升级到v23.2以后,就要准备按最低.NET 6去理解依赖关系;
(3)如果目标是v24.2以后或当前主线,继续围绕.NET 6做长期规划就已经不够稳了。
2、新项目更适合直接按当前主线选型
(1)新项目如果一开始就锁定较新的DevExpress版本,就不该再把net5当成主要候选;
(2)即便你暂时只问DevExpress与net6的关系,也应同步看到官方版本表里.NET 8已经成为更核心的主线;
(3)这样做的好处,是避免项目刚起步就落在即将退出支持范围的目标框架上。
总结
DevExpress支持net5吗DevExpress与net6兼容性列表,这两个问题真正要连起来看。若问历史兼容,DevExpress从v20.1.6起已经支持.NET 5;若问当前主线,许多产品线从v23.2起把最低要求提升到.NET 6;再往后看,WinForms和WPF的官方表又显示从v24.2起.NET 6已不再受支持。把这些时间点串起来,你就会发现,DevExpress与net5、net6的关系并不是一句兼容或不兼容能说清,而是典型的“按版本判断、按产品线落地”的问题。
