DXperience 7.x编译源码
一)升级DXperience控件
1) 卸载老的DXperience控件关闭VS2005/VS2008 IDE,通过控制面板的添加/删除程序功能进行卸载老版本的DXperience控件
2) 下载需要的文件对应版本的DXperience试用版,编译脚本和本地化包都需要到DevExpress官方网站进行下载下面给出下载链接,直接点击下载即可:DXperience试用版:点击进入下载页面编译脚本:点击进入下载页面
2) 安装试用版安装试用版是必须的,因为它包括源码包中所没有的演示代码、帮助文档和各种工具。双击DXperience试用版安装包进行安装。这里要注意:下载的试用版的版本号应该与源码版本对应
3) 解压源码文件将源码压缩包的所有文件解压到试用版的安装目录的Sources子目录下默认的安装目录为:C:\Program Files\Developer Express .NET v7.x\所以源码包应解压到C:\Program Files\Developer Express .NET v7.x\Sources\目录(x应替换相应的次版本号,以下不再重复说明)解压完成后应看到Sources目录下多了十几个源码子目录
4) 解压编译脚本将下载的编译脚本压缩包解压,然后进入对应版本的子目录,将所有文件(不包括子目录PatchInternalVisibleTo)复制到DXperience安装目录的Sources子目录下
5) 使用编译脚本进行编译先执行clear.bat删除全局缓存中试用版的程序集DLL,再执行buildall.cmd重新生成正式版的程序集DLL编译时可能会显示一些黄色的警告(warning),不用担心,不会出现错误(error)的
注:DXperience 7.3可能要求安装a) .NET Compact Frame 2.0 SP2 (点击进入下载页面)否则对下面二个项目的编译将报错:DevExpress.Data.Compact.csprojDevExpress.Xpo.Compact.csprojb) .NET Framework 3.5 (点击下载)否则对下面一个项目的编译将报错:DevExpress.Xpo.Linq.csproj
对于DXperience 7.3.5源码中的ASPxScheduler的目录路径和编译脚本都存在问题,点击下载修正过的源码和编译脚本
6) 重新生成工具箱选项卡点击 开始菜单 -> 所有程序 -> Developer Express .NET v7.x -> Tools -> ToolboxCreator以删除试用版的VS2005/VS2008工具箱选项卡,并重新生成正式版的VS2005/VS2008工具箱选项卡
7) 确认升级成功到此控件已经升级完成,让我们确认一下打开VS2005,新建一个Windows应用程序,然后按Ctrl+Alt+X显示工具箱,发现有四个新选项卡:DX: WinScheduler.v7.xDX: WinLib.v7.x,DX: Win.v7.xDX: General.v7.x
展开Developer Express: Win.v7.x选项卡,将GridControl拖到Form1上,然后对GridControl点右键,在弹出的快捷菜单中,选择“About”,这时可以看到XtraGrid的版本号已经更新了,Serial Number显示为--TRIAL VERSION--,虽然显示为试用版但其实已经是正式版了真正的试用版只要把GridControl拖到Form上就会自动弹出关于对话框的
二)升级原有的应用程序
1) 关闭VS2005/VS2008,备份要升级的应用程序比如说用WinRAR/7-Zip打个备份包
2) 通过DXperience提供的ProjectConverter进行升级执行 开始 -> 所有程序 -> Developer Express .NET v7.x -> Tools -> ProjectConverter在弹出的对话框中选择VS项目文件所在的路径并去掉创建备份文件的勾然后按Upgrade就行了ProjectConverter会将项目中所有对老版本DXperience程序集的引用转换为新版本
3) 打开VS2005/VS2008,重新编译项目a. 从DevExpress Windows Controls 3.x (VS2005)升级7.x可能需要更改一些代码,有三个地方需要改:GridView.ExportToExcel -> GridView.ExportToXlsGridView.OptionsView.ShowFilterPanel = false -> GridView.OptionsView.ShowFilterPanelMode = ShowFilterPanelMode.NeverGridView.OptionsView.ShowFilterPanel = true -> GridView.OptionsView.ShowFilterPanelMode = ShowFilterPanelMode.ShowAlwaysGridView.OptionsBehavior.ShowEditorOnMouseUp = true -> GridView.OptionsBehavior.EditorShowMode = EditorShowMode.MouseUp可以按Ctrl+H激活查找和替换对话框,对当前项目所有cs文件进行替换直到项目可以顺利通过编译
代码没问题了,但是界面还需要改动应用程序运行后发现界面变得不像样子了控件和工具栏的背景色不对了,按钮上的图片变成了不透明的了在解决方案资源管理器中打开Program.cs,在Main()函数的Application.Run(new Forms.FormMain());这行代码前输入下面的代码
这段代码的功能是统一设置DXperience控件的默认样式
在主画面类中加入下面三个静态方法,然后在包括NavBarControl控件的画面FormLoad事件中调用NavBarItemTransparent()方法在包括BarManager控件的画面FormLoad事件中调用BarItemTransparent()方法
b.从7.1/7.2升级到7.3编译时可能出现资源文件(*.resx)控件版本错误,定位到出错的行,向上找到最近的PublicKeyToken=xxxxxxxxxxxxxxxx的地方到源码目录Sources下找到PublicKeyToken.txt,这个文本文件是按前面步骤编译时自动生成的,记录了公钥标记。而ProjectConverter进行转换时并不会自动替换这个公钥码。选中出错资源文件的PublicKeyToken=xxxxxxxxxxxxxxxx,按Ctrl+H弹出替换对话框,在替换为文本框输入PublicKeyToken=,然后将PublicKeyToken.txt中的公钥复制并粘贴到后面,查找范围改为:整个解决方案,执行全部替换再重新生成解决方案就没问题了
4) 更改ClickOnce布署最后,还需要对ClickOnce布署进行一些调整点击 项目菜单 -> 属性... 启动项目属性画面,选择“发布”选项卡并点击“应用程序文件(i)...”按钮在弹出画面中选中显示所有文件,将老的DXperience程序集DLL从中删除,并将新的DXperience程序集DLL的发布状态改为“包括”点击“立即发布”按钮进行发布,从客户端更新后测试,顺利通过
如果你是采用的安装程序,也只要替代DXperience程序集DLL就行了
5) 最后大功告成,可以举杯庆祝了。嘿嘿!
发表于 @ 2007年12月26日 13:04:00|评论(loading...)|编辑