expressappframework-405523-app-shell-and-base-infrastructure-application-solution-components-modules-create-and-register-custom-xaf-module.md
XAF allows you to implement custom modules in your application and to reuse these modules in other XAF applications.
An XAF module is a class library that contains a class derived from ModuleBase. You can use the Template Kit to create an XAF project with a cross-platform module and reuse this module in your application.
Tip
Alternatively, you can define a ModuleBase class descendant to convert an existing Class Library into a module. Take the Module.cs file from an existing module as a prototype. Rename this class and set the correct namespace.
Do not inherit from modules. ModuleBase class descendants should be sealed.
Add a reference to the new module project.
You can register a custom module in the main module project or in platform-specific projects.
Note
This help topic describes how to add a common cross-platform module to your application. If you need to implement platform-specific logic, for instance, implement a property editor based on a custom component (Blazor) or display a custom data-bound control in an XAF View, use platform-specific application projects — SolutionName.Blazor.Server or SolutionName.Win.
See Also