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

DevExpress Components16.2.6 Source Code 编译的更多相关文章

  1. DevExpress Components16.2.6 Source Code 重编译教程

    DevExpress 是一个比较有名的界面控件套件,提供了一系列优秀的界面控件.这篇文章将展示如何在拥有源代码的情况下,对 DevExpress 的程序集进行重新编译. 特别提示:重编译后,已安装好的 ...

  2. 用source code编译安装Xdebug

    1. Unpack the tarball: tar -xzf xdebug-2.2.x.tgz.  Note that you do not need to unpack the tarball i ...

  3. 编译NDK的source code一定要用release mode!

    编译NDK的source code一定要用release mode! 编译NDK的source code一定要用release mode! 编译NDK的source code一定要用release m ...

  4. 开发者说 | 使用Visual Studio Code编译、调试Apollo项目

    转载地址:https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247484266&idx=1&sn=d6bcd4842 ...

  5. C#调试含有源代码的动态链接库遇见there is no source code available for the current location提示时的解决方案

    C#调试含有源代码的动态链接库遇见there is no source code available for the current location提示时的解决方案: 1.首先试最常规的方法:Cle ...

  6. How to Build MySQL from Source Code on Windows & compile MySQL on win7+vs2010

    Not counting obtaining the source code, and once you have the prerequisites satisfied, [Windows] use ...

  7. Mac系统使用VS Code编译Bootstrap 4

    环境: macOS 10.13.6 node.js 8.11.3 sass 1.10.3 bootstrap 4.1.3 vs code 1.25.1 Bootstrap3为我们提供了在线编译工具,可 ...

  8. Visual Studio 2012,创建工程Build Driver,基于纯Source Code.

    拿到一堆纯代码,怎么去Create Project,设置Include路径,lib路径,要不要Pre-compile技术,配置Project之间的依赖关系. SourcesConverter  Bas ...

  9. Source Code Structure - Python 源码目录结构

    Source Code Structure - Python 源码目录结构 Include 目录包含了 Python 提供的所有头文件, 如果用户需要用 C 或 C++ 编写自定义模块扩展 Pytho ...

随机推荐

  1. **PHP foreach 如何判断为数组最后一个最高效?

    http://www.zhihu.com/question/20158667 其他方法: $list = array('a', 'b', 'c'); foreach($list as $k=>$ ...

  2. Visual Studio 2013百度云下载地址

    Visual Studio 2013百度云下载地址: 链接: https://pan.baidu.com/s/1JkVYLnFo2TWSu4dkDdZP3Q  提取码: 关注公众号[获取   winf ...

  3. activeMQ 持久化配置

    Mac 中安装activeMQ brew install activemq 启动 activemq start 控制台:在浏览器中输入url: http://localhost:8161/ A:持久化 ...

  4. CCF CSP 201312-3 最大的矩形

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...

  5. java8 - Optional

    mport java.util.Optional; import org.junit.Test; /* * 一.Optional 容器类:用于尽量避免空指针异常 * Optional.of(T t) ...

  6. C++中memcpy和memmove

    二者都是内存拷贝 memcpy内存拷贝,没有问题;memmove,内存移动?错,如果这样理解的话,那么这篇文章你就必须要好好看看了,memmove还是内存拷贝.那么既然memcpy和memmove二者 ...

  7. NET生成缩略图

    1.添加一个html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <hea ...

  8. 1. python 类型和运算

    类型和运算 (Types and Operations) Introducing Python Object Types 在非正式的意义上, 在 Python 中, 我们用一些东西做事情. " ...

  9. Linux 的文件权限与目录配置

    用户和用户组 文件所有者 (owner) 用户组概念 (group) 其他人概念 (others) Linux文件权限概念 1. Linux文件属性 要了解Linux文件属性,那么有个重要的命令必须提 ...

  10. @react-native-community/async-storage在Android上的手动link问题

    PS C:\Users\linjin\Desktop\RN_APP> react-native link @react-native-community/async-storage error ...