# Licensing .NET Applications

## Content

This topic describes how ComponentOne licensing is applied to modern .NET applications, including **.NET Core**, **ASP.NET Core**, **WinForms**, **<span data-testid="definition-highlighter" class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" style="border-image: linear-gradient(90deg, rgb(0, 101, 255), rgb(191, 99, 243), rgb(245, 230, 168)) 0 0 100% / 1 / 0 stretch; border-width: 0px 0px 2px; border-bottom-style: solid; --_11qfq0e: solid;">WPF</span>**, **Blazor**, **MAUI**, and **WinUI**.
For other application types and scenarios, see **[Licensing Applications](https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications "https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications")**[.](https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications "https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications")

## How Licensing Works for .NET Applications

ComponentOne controls support application licensing through **NuGet package build scripts** and supporting licensing tools.
Each developer machine or build machine that builds the application must have an **activated serial key**. Licensing is applied automatically during the build process.
For instructions on activating a serial key, see **[Activating a Serial Key](https://developer.mescius.com/componentone/docs/license/online-license/activating-serial-key "https://developer.mescius.com/componentone/docs/license/online-license/activating-serial-key").**

## Runtime License Generation

When an application is built on a properly activated machine:

* A **runtime license file** (`.sa3licx`) is generated automatically during the build.
* The license file is embedded in the application as an **embedded resource**.

For modern .NET applications, the generated runtime license file uses the `.sa3licx` format.
In some mixed or compatibility scenarios, a legacy runtime license file (`.gclicx`) may also be generated.
Before embedding, the license file can typically be found in the build output directory, for example:

* `obj/Debug`
* `obj/Release`

The embedded runtime license file must be included when the application is distributed.

>type=note
> Notes
>
> * **Application Binding**
>     The runtime license file is application-specific. The application name embedded in the license must match the project in which it was built.
>     If you need to license a component for use in a differently named application (for example, when building a user control or class library), see **[Licensing User Controls](https://developer.mescius.com/componentone/docs/license/online-license/common-licensing-scenarios/license-user-controls "https://developer.mescius.com/componentone/docs/license/online-license/common-licensing-scenarios/license-user-controls").**
> * **Development Environment Requirements**
>     NuGet-based licensing and automatic license generation are supported in **Visual Studio 2019 and later**.
>     For older versions of Visual Studio or .NET Framework–specific scenarios, see **[Licensing .NET Framework Applications](https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications/licensing-net-framework-applications "https://developer.mescius.com/componentone/docs/license/online-license/licensing-applications/licensing-net-framework-applications")**.