本帖最后由 Soar360 于 2017-4-5 17:42 编辑
DevExpress 是一个比较有名的界面控件套件,提供了一系列优秀的界面控件。这篇文章将展示如何在拥有源代码的情况下,对 DevExpress 的程序集进行重新编译。
特别提示:重编译后,已安装好的 DevExpress Demo 项目都将无法正常运行,需要将 Demo 也进行重编译操作后,方可恢复正常,新手请注意。
系统必备- Windows 7 SP1 以上操作系统
- Visual Studio 2010 SP1
- .Net Framework 4.5 [ 下载 .Net Framework 4.5 ( https://www.microsoft.com/en-us/download/details.aspx?id=30653 ) ]
- Silverlight 5.0 SDK [ 下载 Silverlight 5.0 SDK ( http://go.microsoft.com/fwlink/?linkid=149156 ) ]
- ASP.NET MVC 3 [ 下载 ASP.NET MVC 3 ( https://www.microsoft.com/en-us/download/details.aspx?id=1491 ) ] (下载 AspNetMVC3ToolsUpdateSetup.exe 即可。)
编译前准备
- 准备好 DevExpress 安装文件。
- 准备好 DevExpress 对应版本的源代码文件并解压好。
- 下载 Source Code Builder Tool ( https://go.devexpress.com/DevExpress_SourceCodeBuilderTool.aspx ) 到本机解压好拿到 SourceBuilderTool.exe 。
- 下载 DevExpress 编译过程中需要用到的dll ( http://pan.baidu.com/s/1dENTIsp ) 到本机并解压好。
- 使用 DevExpress 安装文件安装好 DevExpress 。
重编译 DevExpress 程序集- 以下操作可能需要管理员权限才能正常运行。
- 如果编译过程中提示未联网(Machine does not have Internet connection.),说明您可能需要扶墙才能继续继续。
- 将解压好的源代码文件全部复制至 DevExpress 安装目录下的 Components\Sources 文件夹(如:C:\Program Files (x86)\DevExpress 16.2\Components\Sources)。如果有重名文件,选择合并、替换。
- 将 SourceBuilderTool.exe 同样复制到 Sources 文件夹。
- 在 DevExpress 安装目录下建立 libs 目录,并将解压好的“DevExpress 编译过程中需要用到的dll”复制进去。
- 以管理员身份打开 Visual Studio 命令提示(2010) 。
- 切换至刚才新建好的 libs 目录。
- 使用 gacinstall.bat 将目录中的程序集注册至 GAC 。
- 等待注册完成。
- 打开 Sources 目录下的 SourceBuilderTool.exe ,应无错误输出。
- 点击 Build 按钮,开始编译。
- 如果弹出“StrongKey Selection Form”,说明源码中暂时没有强签名,选择第一项即可继续。如果未弹出,忽略该步骤。
- 等待编译完成(时间会根据PC配置不同而差异。20分钟以内都为正常)。
- 编译完毕。
- 查看 Sources 目录下是否含有 build_errors.log 文件,如果没有或者内容为空,说明编译是成功的。
- 如果编译过程中有错误,可以查看 build.log 文件,找到错误原因并修正。
验证编译结果重编译后,DevExpress 程序集的签名信息发生了改变,已安装好的 DevExpress Demo 项目都将无法正常运行,我们需要通过打开 Demo 源代码重新编译的形式来运行 Demo ,并验证重编译结果。
打开 MDIDemo.sln 解决方案(路径:C:\Users\Public\Documents\DevExpress Demos 16.2\Components\WinForms\CS\MDIDemo\MDIDemo.sln)并运行项目。如果无生成错误信息且点击“ Help -> About ”菜单弹出如下信息,则表示重编译已经成功。
转载自:码农很忙 - DevExpress Components16.2.6 Source Code 重编译教程 https://www.coderbusy.com/archives/437.html |