Application Solution Structure
- 2 minutes to read
An XAF solution contains multiple projects. This topic describes these projects and supported platforms.
Supported Platforms
- .NET
- ASP.NET Core Blazor
- WinForms
- Web API applications
- End-to-End/Functional test project
Tip
The DevExpress Template Kit allows you to create .NET projects and select specific platforms for your solution.
Projects
Main Module Project

Use this project to implement UI-independent application elements. For example, you can define a Business Model and implement UI-independent Controllers. Your applications can use the same Business Model and share Controllers from this project.
Use the Add New Item dialog to declare a new class in the Module project.

Utilize a special template to add a Business Object, View Controller, or Window Controller.
WinForms Application Project

Contains code specific to your application’s WinForms version.
If your solution includes the platform-specific module project, add business classes, editors, and Controllers to this project instead of the application project.
ASP.NET Core Blazor Application Project

Contains code specific to your application’s ASP.NET Core Blazor version.
If your solution includes the platform-specific module project, add business classes, editors, and Controllers to this project instead of the application project.
Web API Application Project

Contains Web API settings. See the following topic for more information on how to add a Web API service to your application: Backend Web API Service / REST API.
End-to-End/Functional Test Project

Contains a predefined configuration for end-to-end (functional) tests. In this project, you can write C# functional tests for your XAF applications.
Important Notes
WinForms, ASP.NET Core Blazor, and Web API applications can be built based on the same Business Model, business logic, and Controllers when all applications use the same set of modules.
If you do not need the WinForms, Blazor, or Web API application version, do not include the corresponding project in the solution. A straightforward application can contain one application project.
Optionally, your XAF solution may include the Application Server Project, Workflow Server Project, and any other custom projects.