写在开头,Dev Express是个十分强大的控件库(下文简称Dev),但碍于其高昂的使用费用,“出于学习目的”,我们一般使用的都是Patch版本(在版权意识日趋加强的当下,不要提那两个字,现在加上那些字,百度都搜不出内容)。

0、资源链接

Patch资源(包括doc说明文档):


1、背景(出发点)

①Dev Express(v22.2)使用新的Patch资源,不同于之前v18.1的增加时间,而是注册产品

②此版控件支持在VS2022(支持64位)上进行开发;

③此版控件支持.NET 7(旧称“.Net Core”,现称“.NET X”),且.NET 7是支持跨平台的,可以为后续实现跨平台做拓展研究(控件能否跨平台待验证)。

2、Dev22.2的安装与Patch

2.1、背景

①已安装VS2022任意一个版本(社区版community、专业版professional、企业版enterprise);

2.2、步骤

①安装官方SDK,运行此目录下的“DevExpressUniversalTrialCompleteSetup-20230330.exe”,通过离线安装包部署;

最新离线安装包的链接是不变的:

https://go.devexpress.com/DevExpressDownload_UniversalTrialComplete.aspx

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_vs2022 安装 ReSharper

②进行Patch,解压“DevExpress.Universal.Patch.v2.4.8.rar”,运行其目录下的“DevExpress_Universal_Patch_v2.4.8.exe”工具;

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_Patch_02

③参考上一步解压出来目录中的“ReadMe (How to Install).txt”,原始内容如下;

Uninstall all old Patches and vsix Patch Extensions Before you start!.

1) Close all Visual Studio istance
2) Run DevExpress_Universal_Patch_v2.4.8.exe
3) Set Name and Correct ( Devexpress Version and Visual Studio Version ) and Click Patch ( The Patch operation may take some time )
4) Finish

( The patch can be performed as many times as you want from any position on the PC
and must be performed at any Devexpress update)

Before Build Project :

a) Remove all licenses.licx from project
b) If use xpf append <my:String x:Key=\"DevExpress.Xpf.License\">8F-68-09-B5-38-68-34-79-1B-B5-B9-DE-41-8B-EA-71-41-09-E5-F6</my:String>

It is also possible :

a) Restore all the modifications of the Patch by clicking on the Restore button ( if backup was selected )
b) Generate a new license without having to patch to change its name by clicking on the Regenerate License Only button

④输入DevExpress的版本,此处主版本“22”,副版本“2”;输入VisualStudio的版本,根据安装情况,VS2022_Professional对应了“2022 PRO.”;

⑤点击第二行右侧的“Patch”,等待完成,提示13个文件完成。

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_c#_03

⑥***可能会遇到的问题,VS安装在非默认路径下,则点击” Patch”后会提示找不到VS,则需要手动设置VS路径,根据提示选择文件夹即可,如在笔者PC中,是“D:\0_software\Microsoft Visual Studio”;不能再往下层目录找,否则仍提示找不到!!!

⑦第二行左侧的“Restore”,可以恢复到Patch前的状态;

⑧第三行的Name可以修改出现在VS中About对话框中“产品注册”的名称。
例如,默认设置下,About对话框中“Registration code”显示“DeltaFoX,1/1(#36733309396484113)”

3、Dev18.1->Dev22.2的版本过渡

3.1、背景

①已安装VS2022任意一个版本(社区版community、专业版professional、企业版enterprise);

②已按照“DevExpress22.2_patch_trial”文件夹中的说明,安装并对Dev22.2进行Patch;

3.2、Dev Express版本切换

①在VS2022中打开解决方案,选中某个项目,通过如下图步骤:“扩展——DevExpress——Project Conveter——Project Conveterv22.2…”(因为笔者同时安装了两个版本的控件库SDK,所以会出现两个),打开Dev的版本切换工具;

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_vs2022 安装 ReSharper_04

②打开后的Dev的版本切换工具主界面如下,直接显示上一步选中的项目,直接点击“Upgrade All”进行转换,等待转换完成(转换信息会在最后弹窗显示);

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_DevExpress22.x_05

 ③查看原有项目,如下图所示,至此Dev版本切换完成。

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_DevExpress22.x_06


注意:DevExpress涉及一个“licenses.licx”的问题,编译可能会遇到“error MSB6006: “lc.exe”已退出”导致失败,解决方法:

需要F4跳转到“licenses.licx”的属性,将“生成操作”的值,从“嵌入的资源”改为“无”即可。


20240117补充:

        安装了多个版本的DevExpress控件时,补丁资源只能给最后一个版本安装补丁,影响是进入Run Designer后弹窗左下角显示“LICENSED”和“EXPIRED”,暂未发现其他问题,如下图;

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_vs2022_07

vs2022 安装 ReSharper vs2022 安装devexpress哪个版本_Patch_08

警告:v23.1使用中发现存在严重bug,使用“主从关系视图”时,“从”表的CellValueChanged事件不会触发,而在最新的v23.2里又悄摸修复了,可能有相关公告但未去获取。

        遇到同样问题的小伙伴不要怀疑自己,实践才是检验真理的唯一标准,加油!