DevExpress 重编译 替换强命名 修改源码

本文以DevExpress 11.1.8举例 必须满足几个条件

1、 必须有DXperience相应版本的全部源代码SourceCode。把全部源代码复制到X:Program FilesDevExpress XXXComponentsSources目录。目标目录的默认位置是在C:Program FilesDevExpress 20XXComponentsSources(其中X.X为应替换相应的版本号,以下不再重复说明)。

2、 必须有一个强名称的文件。该文件可以是你自己生成的,或者是团队项目中约定的某人生成的文件。要创建此文件,必须执行下面的命令建立你自己的密钥:sn -k StrongKey.snk并且复制新生成的强命名密钥StrongKey.snk文件到Sources目录下的/ Devexpress.Key /目录。该强名称Sn.exe工具位于/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin目录。当然如果是约定的某人生成的文件则直接将文件复制到/ Devexpress.Key /即可。PS。该文件拥有一个对应的PublicKeyToken之后也要使用。

3、 解压编译脚本。将下载的相应版本的编译脚本压缩包解压,然后将所有文件复制到DXperience安装目录的Sources子目录下。

下面开始处理

===============================================================================================
如果之前已安装过其它版本的DevExpress要执行清除程序集的步骤,如果是初次安装可以跳过这一步
运行C:Program FilesDevExpress 2011.1ComponentsSourcesclear.bat
注:执行该步骤时如果出现“程序集锁定”的提示请关闭正在运行的程序,重启IIS Admin 服务,然后在执行一次clear.bat

===============================================================================================

执行C:Program FilesDevExpress 2011.1ComponentsSourcesuildall.cmd
等待执行完毕,执行完毕后会生成两个文件
C:Program FilesDevExpress 2011.1ComponentsSourcesPublicKeyToken.txt                    -- 公钥文件
C:Program FilesDevExpress 2011.1ComponentsSourcesDevExpress.KeyStrongKey.snk  -- 私钥文件

===============================================================================================

打开PublicKeyToken.txt,复制那一串字符如:aea63221faec5671 共16位

在命令行运行如下命令替换公钥
"%ProgramFiles%DevExpress 2011.1ComponentsToolsDXperienceProjectConverter-console.exe" /r /k:<换成你的公钥> "<源码解压的目录>"
在这里我的是这样
"%ProgramFiles%DevExpress 2011.1ComponentsToolsDXperienceProjectConverter-console.exe" /r /k:233e5082d2bfa4a0 "%ProgramFiles%DevExpress 2011.1ComponentsSources"
至此控件部分已经从新编译完毕。但是Demo却不能运行了,若要查看Demo就使用公钥对Demo重新编译一次就可以了

编译完源文件后要

开始 → 程序 → Developer Express v2011 vol 1 → Components → Tools → ToolboxCreator

重建下IDE的工具栏

更新以前项目的公钥
经过重新编译后的DevExpess控件私钥和公钥都已经改变,如果在编译前使用过DevExpess的控件,在编译后将无法继续使用
我们可以通过DevExpress的升级工具对项目进行升级,步骤如下:
开始 -> 程序 -> Developer Express v2011 vol 1 -> Components -> Tools -> ProjectConverter

打开 Project Convert (11.1.6.0) 后可以按单个项目(Project folder)升级或多个项目同时升级(Folder list)
勾选 show advanced option(显示高级选项) 后在 Custom public key token 栏输入
C:Program FilesDevExpress 2011.1ComponentsSourcesPublicKeyToken.txt 文件中的公钥值 如:233e5082d2bfa4a0
Hint path behavior 选择 Upldate ,然后点击右下角的 Upgrade 按钮,等待程序替换公钥完毕后就可以了

编译脚本下载:

http://www.devexpress.com/Support/Center/KB/p/A609.aspx

原文地址:https://www.cnblogs.com/wordgao/p/4560108.html