---
title: Developing Xperience applications using ASP.NET Core
related:
  - https://docs.kentico.com/13/developing-websites/developing-xperience-applications-using-asp-net-core/starting-with-asp-net-core-development.md
  - https://docs.kentico.com/13/developing-websites/developing-xperience-applications-using-asp-net-core/starting-with-asp-net-core-development/migrating-asp-net-mvc-5-projects-to-asp-net-core.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Xperience supports website development using [ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-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](https://docs.kentico.com/13/configuring-xperience/setting-up-web-farms.md) feature.

![Kentico Xperience development model diagram](https://docs.kentico.com/docsassets/13/developing-xperience-applications-using-asp-net-core/DevelopmentModelOverview.png "Kentico Xperience development model diagram")

## Requirements

You need the following environment for developing ASP.NET Core projects:

- **.NET**: [.NET 8.0](https://dotnet.microsoft.com/download/dotnet/8.0) through [.NET 10.0](https://dotnet.microsoft.com/download/dotnet/10.0) SDK (latest patch version recommended).
- Development environment with support for ASP.NET Core development, such as [Visual Studio](https://visualstudio.microsoft.com/vs/) 2019, 2022, or [Visual Studio Code](https://code.visualstudio.com/).

### 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](https://docs.kentico.com/13/configuring-xperience/managing-sites/managing-site-license-keys/licensing-for-xperience-applications.md) 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](https://docs.kentico.com/13/custom-development/writing-automated-tests.md) 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](https://docs.kentico.com/13/developing-websites/retrieving-content/displaying-content-from-media-libraries.md) or as [page attachments](https://docs.kentico.com/13/developing-websites/retrieving-content/displaying-page-attachments.md)). Uses an implementation of the [SkiaSharp graphics library](https://github.com/mono/SkiaSharp). Requires the application to have [hotfix 13.0.107](https://devnet.kentico.com/download/hotfixes) 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.

1. **Create and set up an Xperience Core application**
   - Start by [setting up](https://docs.kentico.com/13/developing-websites/developing-xperience-applications-using-asp-net-core/starting-with-asp-net-core-development.md) your Xperience administration application and the ASP.NET Core live site.
2. **Define site content structure**
   - [Define the structure of your content](https://docs.kentico.com/13/developing-websites/defining-website-content-structure.md) via the administration interface.
3. **Develop the Core application**
   - Set up features that can help build your website:
     - [Page builder](https://docs.kentico.com/13/developing-websites/page-builder-development.md)
     - [Form builder](https://docs.kentico.com/13/developing-websites/form-builder-development.md)
     - [Routing (handling of page URLs)](https://docs.kentico.com/13/developing-websites/implementing-routing.md)
   - Use [generated code](https://docs.kentico.com/13/developing-websites/generating-classes-for-xperience-objects.md) to work with page content and other data in the Core application.
   - Load page content using the Xperience API. See [Retrieving content](https://docs.kentico.com/13/developing-websites/retrieving-content.md) for more information.
   - If necessary, customize or extend the system's functionality. See [Applying customizations in the Xperience environment](https://docs.kentico.com/13/custom-development/applying-customizations-in-the-xperience-environment.md).
4. **Deploy the environment**
   - Learn how to  [deploy your environment](https://docs.kentico.com/13/developing-websites/developing-xperience-applications-using-asp-net-core/deploying-and-hosting-asp-net-core-applications.md) to a hosting server (production environment).
