Skip to main content
All docs
V24.2

Rebuild DevExpress Assemblies and NuGet Packages from Source Code

  • 5 minutes to read

Terms and Conditions for Licensed Users

Users that own a DevExpress Universal or DXperience subscription can modify DevExpress source code and recompile DevExpress .NET assemblies and NuGet packages, with the following limitations:

  • You can recompile the source code only for a licensed version that you have purchased.
  • You can modify our source code and redistribute the modified libraries. You cannot distribute DevExpress source code.
  • You cannot recompile DevExpress source code for resale or for any unauthorized purpose.

For more information, please refer to the DevExpress End User License Agreement. You can find a copy in your installation folder or visit our website to review license agreements for the most recent versions of DevExpress products: DevExpress End User License Agreements.

DevExpress Source Builder

The DevExpress Source Builder ships as part of the DevExpress Unified Component Installer: “~\DevExpress 24.2\Components\Tools\Components\DevExpress.SourceBuilderTool.exe”.

Prerequisites

The DevExpress Source Builder has the following system and environment requirements:

Note

DevExpress.Data.v24.2.dll and DevExpress.Build.XamlResourceProcessing.v24.2.dll must be installed in the Global Assembly Cache (GAC).

Rebuild Assemblies and NuGet Packages

Run the following command with admin rights to rebuild DevExpress assemblies and NuGet packages (including localized assemblies/packages for German (DE), Japanese (JA), and Spanish (ES), which ship as part of DevExpress products):

DevExpress.SourceBuilderTool.exe path_to_sources [--external] [path_to_external_libraries] [--sg] [--gac] [--nuget]

# Example:
# DevExpress.SourceBuilderTool.exe "c:\program files\devexpress 24.2\components\sources" --nuget
path_to_sources
The path to DevExpress source code. The default path is “C:\Program Files\DevExpress 24.2\Components\Sources”. This is a required parameter.
--external path_to_external_libraries (Optional)

Specifies the path to external libraries on which the source code depends.

This is a required parameter if external libraries are necessary for building the sources.

--sg (Optional)

Do not regenerate ~\DevExpress 24.2\Components\Sources\DevExpress.Key\StrongKey.snk.

When building libraries for the .NET Framework, libraries are signed with a key located in this path. Initially the path is empty. The Source Builder creates a new key when you run the build. Specify the -sg parameter if you do not want to regenerate the key to preserve a key from a previous build (for example, to allow assemblies from one build to reference assemblies from another).

Important

Do not specify the -sg parameter when rebuilding DevExpress assemblies and NuGet packages for the first time (until the key has been created).

--gac (Optional)
Copies compiled assemblies to the Global Assembly Cache (GAC), making them available system-wide.
--nuget (Optional)

Rebuilds existing DevExpress NuGet packages contained in “~\DevExpress 24.2\Components\System\Components\packages”.

Important

NuGet.exe version 6.0 or higher must be in the same folder as DevExpress.SourceBuilderTool.exe (download nuget.exe).

After the Source Builder has rebuilt DevExpress assemblies and NuGet packages, it places them in the following folders:

  • .NET Framework Assemblies: ~\DevExpress 24.2\Components\bin\Framework
  • .NET Assemblies: ~\DevExpress 24.2\Components\bin\NetCore-rebuilt
  • NuGet Packages: ~\DevExpress 24.2\Components\System-rebuilt\Components\packages

    Note

    Rebuilt DevExpress NuGet packages contain -rebuilt in the name.

    Example: DevExpress.AIIntegration.24.2.3-rebuilt.nupkg

Troubleshooting

If the build fails, the Source Builder generates a log.txt file in the same folder. This file contains the build log and error details.

Specific Notes & Limitations

  • The DevExpress Source Builder does not rebuild design-time assemblies and NuGet packages for WPF projects.
  • DevExpress does not provide unit, functional, or other tests.
  • DevExpress is not responsible for custom code or for modifications made to DevExpress source code. Once you modify our source code, future product compatibility is at risk.

    If you recompile our source code (to add new functionality or alter component behavior), you may encounter unanticipated maintenance/upgrade costs. If you believe that you have no choice but to recompile our source code, please contact the DevExpress Support Team first. We may be able to recommend an alternative solution that does not affect your ability to update DevExpress products in your projects to newer versions.

  • While we allow modifications to our C# source code, we do not allow changes to our client scripts. For example, when we build our Blazor source code, we generate a NuGet package, scripts, styles, and so on. We take client artifacts from the release package and add them to the rebuilt package.

Rebuild DevExtreme/ASP.NET Core Assemblies

The sources for DevExtreme ASP.NET Controls are installed in a separate sub-folder. To rebuild related assemblies and NuGet packages from their source code, do the following:

  1. Unzip the DevExtreme ASP.NET Controls sources from:

    c:\Program Files\DevExpress 24.2\DevExtreme\Sources\DevExtreme.AspNet\DevExtreme.AspNet.zip
    

    into:

    c:\Program Files\DevExpress 24.2\DevExtreme\Sources\DevExtreme.AspNet\DevExtreme.AspNet
    
  2. Specify the modified nupkg version within the related csproj file:

    c:\Program Files\DevExpress 24.2\DevExtreme\Sources\DevExtreme.AspNet\DevExtreme.AspNet\DevExtreme.AspNet.Mvc\AspNetCore\DevExtreme.AspNet.Core\DevExtreme.AspNet.Core.csproj
    

    with:

    <Version>24.2.1-rebuilt</Version>
    
  3. Rebuild and pack the csproj into a new nupkg via a Solution Explorer -> Rebuild and Pack (or cli dotnet build and dotnet pack) commands into a new nupkg:

    • .NET Assembly: \DevExtreme.AspNet.Mvc\AspNetCore\DevExtreme.AspNet.Core\bin\Debug\net8.0\DevExtreme.AspNet.Core.dll

    • NuGet Package: \DevExtreme.AspNet.Mvc\AspNetCore\DevExtreme.AspNet.Core\bin\Debug\DevExtreme.AspNet.Core.24.2.1-rebuilt.nupkg

  4. Place the new nupkg in the machine-wide NuGet feed or the feed/folder set by your application.

Build .NET MAUI Controls from Source Code

Refer to the Build Controls from Sources topic for more information.

Debug Source Code

To debug DevExpress .NET source code, use our PDB files (or you can also generate your own PDB files). You should not recompile DevExpress source code to debug DevExpress components.