DevExpress源码编译(部分翻译)
环境准备(DevExpress v18.2 ~22.2):
- vs2015至2022版本
- .net framework 4.7.2或更高(实际我们项目用4.5.2可以编译,并不是所有的工程都需要高版本)
- asp.net mvc3(devexpress mvc项目)
- 在devexpress安装目录下(默认
C:\Program Files\DevExpress (version)\Components\
)创建dlls目录,复制以下依赖。
Microsoft.VisualStudio.TemplateWizardInterface.dll (Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=599f677cd7f0f683f8729bf4ceaf0915)
Microsoft.VisualStudio.ComponentModelHost.dll (Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=b8ae55384cb8846555a5853b0b71b23c)
Microsoft.VisualStudio.Shell.10.0.dll (Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=db1ebf527ce1458b820032a9c285752c)
Microsoft.VisualStudio.Shell.Design.dll (Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=69d57b6c1f67f8c16fc5bd083b7fefdb)
Microsoft.VisualStudio.Shell.dll (Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=d9ecee636abc6c241aacacdb7ad69bda)
Microsoft.VisualStudio.Shell.Immutable.10.0.dll (Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=6ed54225dc9988aa3eb0b09942b4d7d9)
Microsoft.Windows.Design.Extensibility.dll (Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=ff09e99480bcc9b0ad59fc3456b7098f)
Microsoft.Windows.Design.Interaction.dll (Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, MD5Hash=b9de9035cc1e46289fb8121dd6a58178)
这些文件在vs2010安装目录下(必须安装vs2010和vs2010sdk,而不管你当前用的是哪种版本的vs构建源码)或者直接从github中下载。zc910704/DevExpressCompileLibDeps (github.com)
运行DevExpress的源码编译工具(v12.2-22.2)
根据版本下载工具:
- Source Code Builder Tool for v22.1
- Source Code Builder Tool for v21.2
- Source Code Builder Tool for v21.1
- Source Code Builder Tool for v20.2
- Source Code Builder Tool for v19.2 - v20.1
- Source Code Builder Tool for v18.2 - v19.1
- Source Code Builder Tool for v12.2 - v18.1
在安装了 DevExpress 源代码的计算机上以管理员身份运行此工具。启动时,该工具会检查 Windows 注册表以验证已安装的组件和计算机配置。可以选择要重新编译的 DevExpress 版本和目标生成配置(Debug
或Release
)。
- 该工具会检查路径
..\Sources\DevExpress.Key\
下的密钥文件用于强签名,官方不会提供密钥文件(用自己的)
限制与其他:
- 只能用于.Net framework项目。
- 如果重新编译源码,vs设计视图的功能将不可用,如果需要使用安装版本设计再用版本转换工具转换。(原文如此,存疑。自己添加到vs工具箱应该是可以的)
- WinUI不行。
- 老旧版本查看原文链接。
直接用VisualStudio编译
- 除了前面说的包外还需要nuget包Microsoft.Data.Services这里编译v19.1时,需要的版本为5.7.0。
- 同样需要包Microsoft.VisualStudio.TemplateWizardInterface,但这个包是4.7.2版本的framework,因此编译不了低于4.7.2的版本,但是只影响两个工程。
官方文档原文链接:
Rebuild Assemblies from the Source Code | General Information | DevExpress Documentation