代码改变世界

[转]如何编译DevExpress源代码

2011-09-30 20:44 Format Deng 阅读(...) 评论(...) 编辑 收藏

How to rebuild assemblies from the source code

Article Details

ID:
A609

Version(s):
6.x, 7.x, 8.x, 9.x, 10.1, 10.2

Updated:
2011/6/17

Product Group:
.NET

Product:
DXperience Enterprise

Description:

How can I recompile the XtraGrid assemblies? I want to step into your code and trace it when debugging my applications.

Solution

Foreword
We offer a set of build scripts to automate the rebuilding of our components from source code for those who have the DXperience Enterprise or Universal installed. The scripts (DOS batch files) are in the attached archives. Please refer to theReadMe.txt document inside the archive for instructions. We still advise that you fully read this article to better understand the dependencies between our assemblies and the manual rebuild process.

Let's consider rebuilding the XtraGrid for example.
To compile and install the XtraGrid libraries you should generate a strong key file, build libraries in a particular order registering every library prior to building the next one and finally update Toolbox icons in your Visual Studio.

The component source files are installed in the \Program Files\DevExpress X\Components\Sources\ directory by default where X is the DXperience version, e.g 2009.1, 2009.2, etc.

Before you start compiling the libraries you should delete the original DevExpress DLLs. They are located in your \Program Files\DevExpress X\Components\Sources\DevExpress.DLL folder. Next, you should delete all DevExpress.* entries in the Assembly Cache (the C:\WINDOWS\assembly hidden folder).

Assemblies must be signed with a strong key in order to be registered in the Assembly Cache. We don't distribute our StrongKey.snk file - it's our signature. You will need to create a strong key yourself. Please review theSources\DevExpress.Key\ReadMe.txt document for basic instructions. You can learn more about strong keys from the MSDN Library.

Let's assume that it's needed to rebuild the XtraGrid. The compilation order must be as follows:
DevExpress.Data*
DevExpress.Utils*
DevExpress.XtraEditors**
DevExpress.XtraNavBar***
DevExpress.XtraEditors.Design
DevExpress.XtraLayout***
DevExpress.XtraGrid
DevExpress.XtraGrid.Design
----------
* Please do not rebuild DevExpress.Data and DevExpress.Utils, if you don't have the DevExpress.XtraNavBar source. The XtraNavBar depends on these assemblies and you won't be able to use the former if the latter are rebuilt.
** Do not rebuild DevExpress.XtraEditors, if you don't have the DevExpress.XtraLayout source. The XtraLayout depends on this assembly and it won't work, if the XtraEditors is rebuilt.
*** The source of the DevExpress.XtraNavBar and DevExpress.XtraLayout assemblies is not included in the XtraGrid Suite, but it's shipped with the XtraNavBar and XtraLayout Control products sold separately. The XtraNavBar is used in the XtraGrid's designer (the DevExpress.XtraGrid.Design assembly). The XtraLayout is used for one of the XtraGrid's views, namely the LayoutView.

You can use the Microsoft .NET Framework Configuration console to register the assemblies in the Assembly Cache. Another way is to use Windows Explorer and drag-and-drop the DLLs from the Sources\DevExpress.DLL directory to theC:\WINDOWS\assembly hidden folder.

Finally, it is necessary to update Toolbox icons. Please launch the ToolboxCreator tool from the Start | Programs | Developer Express X | Components | Tools menu.

See Also:
Component designers are unavailable. Components are not displayed on forms in design mode
How to fix the NullReferenceException when creating a component by dragging its icon from the Toolbox
Are the protected class members of your .NET controls documented?
Troubleshooting design-time problems
How to recompile the XAF source code

Attachments