Developing Xperience applications using ASP.NET Core
Xperience supports website development using ASP.NET Core. This development model is based on a separate Core application that handles the presentation of the live site, while the Xperience application serves as a content and administration platform.
Both Xperience and the Core application access data from the same database and use the Xperience API. Synchronization of cached content and most files is handled by the web farms feature.
Requirements
You need the following environment for developing ASP.NET Core projects:
- .NET: .NET 6.0 SDK (v.6.0.400 or newer).
- Development environment with support for ASP.NET Core development, such as Visual Studio 2019, 2022, or Visual Studio Code.
License requirements
You only need to purchase a license for the domain of the live site application. If you wish to run the Xperience administration interface on a different domain, an extra license is provided for free. See Licensing for Xperience applications for details.
Kentico Xperience ASP.NET Core NuGet packages
The Kentico.Xperience.AspNetCore.WebApp package contains all files and resources necessary to make your ASP.NET Core application work with the connected Xperience application.
The package has a dependency on the Kentico.Xperience.Libraries package, which contains all assemblies that you need to work with the Xperience API. General Xperience API assemblies have the CMS. prefix. Installation automatically includes other third-party dependencies.
Other integration packages
- Kentico.Xperience.Libraries.Tests – provides a framework for creating automated tests for the Xperience API. Contains base classes for tests and additional supporting API.
- Kentico.Xperience.ImageProcessing.KX13 – provides image resizing functionality for Linux deployments (e.g., for images retrieved from media libraries or as page attachments). Uses an implementation of the SkiaSharp graphics library. Requires the application to have hotfix 13.0.107 or newer applied.
ASP.NET Core development process overview
The following section contains a brief overview to get you started with site development using ASP.NET Core. You can find a more detailed explanation of the covered areas in the linked pages.
- Create and set up an Xperience Core application
- Start by setting up your Xperience administration application and the ASP.NET Core live site.
- Define site content structure
- Define the structure of your content via the administration interface.
- Develop the Core application
- Set up features that can help build your website:
- Use generated code to work with page content and other data in the Core application.
- Load page content using the Xperience API. See Retrieving content for more information.
- If necessary, customize or extend the system’s functionality. See Applying customizations in the Xperience environment.
- Deploy the environment
- Learn how to deploy your environment to a hosting server (production environment).