How to: Recompile the Business Class Library

  • 2 minutes to read

The eXpressApp Framework supplies the Business Class Library that consists of three assemblies.

Assembly Description
DevExpress.Persistent.BaseImpl.v20.2.dll Contains ready-to-use XPO persistent classes.
DevExpress.Persistent.BaseImpl.EF.v20.2.dll Contains ready-to-use Entity Framework 6 Code First classes.
DevExpress.Persistent.BaseImpl.EFCore.v20.2.dll Contains ready-to-use Entity Framework Core classes.
DevExpress.Persistent.Base.v20.2.dll Contains interfaces and helper classes used in XAF Extra Modules. Classes implementing these interfaces are available in the two DevExpress.Persistent.BaseImpl.* assemblies listed above.

You can modify and recompile an assembly with ready-to-use XPO or EF entities using the steps below.

  • Run the Visual Studio Command Prompt as an administrator and execute the Sn.exe (Strong Name Tool) utility with the following parameters.

    sn -k "%PROGRAMFILES(x86)%\DevExpress 20.2\Components\Sources\DevExpress.Key\StrongKey.snk"

    This will create the strong name file (see Strong-Named Assemblies).

  • Navigate to one of the following folders.

    • %PROGRAMFILES(x86)%\DevExpress 20.2\Components\%PROGRAMFILES(x86)%\DevExpress 20.2\.NET Core Desktop Libraries\Sources\DevExpress.Persistent\DevExpress.Persistent.BaseImpl - if you use XPO.
    • %PROGRAMFILES(x86)%\DevExpress 20.2\Components\%PROGRAMFILES(x86)%\DevExpress 20.2\.NET Core Desktop Libraries\Sources\DevExpress.Persistent\DevExpress.Persistent.BaseImpl.EF - if you use EF.

    Open the DevExpress.Persistent.BaseImpl.csproj or DevExpress.Persistent.BaseImpl.EF.csproj project in Visual Studio.

  • If you use EF, ensure that the EntityFramework.dll assembly is available. The project already includes a reference to this assembly, but you may need to provide the DLL file. You can download it from NuGet, or copy it from the EF Demo project (%PUBLIC%\Documents\DevExpress Demos 20.2\Components.NET Core Desktop Libraries\eXpressApp Framework\EFDemoCodeFirstCS\EFDemo.Module\lib\EntityFramework.dll).
  • Modify any class from the opened project.
  • Compile the project by clicking Rebuild in the context menu invoked for the solution. Once this rebuild is successful, the default assembly located in the %PROGRAMFILES(x86)%\DevExpress 20.2\Components\%PROGRAMFILES(x86)%\DevExpress 20.2\.NET Core Desktop Libraries\Bin\Framework folder will be replaced with the modified assembly.

    • By default, the same path is used for XAF solution references. If you use an alternate path, copy the created DevExpress.Persistent.BaseImpl.v20.2.dll or DevExpress.Persistent.BaseImpl.EF.v20.2.dll assembly to the appropriate location.
    • Some XPO-only modules (Audit Trail and Clone Object) have references to the DevExpress.Persistent.BaseImpl.v20.2.dll library. If you are using these modules in your application, they must be rebuilt too. Refer to the How to rebuild assemblies from the source code article for details.