# Migrating From .NET Framework to .NET

> Port a WPF app with TX Text Control from .NET Framework 4.8 to .NET 8: SDK-style project, the NuGet package instead of licenses.licx, EntryAssembly, publishing.

- **Product:** TX Text Control .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for WPF > Installation Guide > Upgrade Guide > Migrating From .NET Framework to .NET
- **1065 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/from-dotnet-framework/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/from-dotnet-framework/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/from-dotnet-framework/llms-full.txt

---

WPF applications that were built with TX Text Control on the .NET Framework 4.8 can run on .NET 8 or higher. Your XAML and code-behind that use the `TextControl` stay as they are: the move changes the project around them. The references to the installed assemblies give way to the NuGet package `TXTextControl.TextControl.WPF.SDK`, and *licenses.licx* gives way to the license file of the package. Follow the steps below to convert the project, switch the references and handle libraries.

### What Changes

The move replaces the project template and project file, the TX Text Control references, the licensing, the source of the toolbox items and the way the application is deployed. [What Differs Between the Two](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/dotnet/#what-differs-between-the-two) compares both kinds of project side by side. The XAML namespace mapping stays the same: `xmlns:WPF="clr-namespace:TXTextControl.WPF;assembly=TXTextControl.WPF"`. See [Assemblies and XAML Namespaces](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/xaml-namespaces/llms-full.txt).

### Before You Start

- Install the setup of TX Text Control .NET for WPF 34.0. It puts the package into **Text Control Offline Packages**. See [Installing the Product](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/setup/llms-full.txt).
- If the project uses an earlier TX Text Control version, read [Upgrading from Previous Versions](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/previous-versions/llms-full.txt) and [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/llms-full.txt) as well.
- Commit the project to source control, so that you can compare it after the conversion.

### Convert the Project

.NET projects use SDK-style project files, so the project file has to be converted and its packages restored in the new format. Microsoft offers tools for this: the .NET Upgrade Assistant, which Microsoft now marks as deprecated, and the GitHub Copilot modernization agent that replaces it in Visual Studio 2026 and Visual Studio 2022 17.14.16 or later. Both handle WPF projects. See [Upgrade Assistant overview](https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview) on Microsoft Learn.

Whichever tool you use, select .NET 8 or higher as the target framework. The converted project file has a target framework such as `net8.0-windows` and `<UseWPF>true</UseWPF>`, as in the project file shown in [.NET 8 or Higher](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/dotnet/#net-8-or-higher).

The conversion doesn't turn the TX Text Control references into a package reference. That is the next step.

### Replace the References With the Package

1. Remove the references to the TX Text Control assemblies, such as *TXTextControl.dll*, *TXTextControl.WPF.dll* and *TXTextControl.Server.dll*, if they are still in the project.
2. Choose **Project** > **Manage NuGet Packages...**, select **Text Control Offline Packages** as the package source and install `TXTextControl.TextControl.WPF.SDK`.
3. In **Solution Explorer**, delete *licenses.licx*, which the WPF samples keep in the *Properties* folder.
4. Rebuild the project.

- **Why *licenses.licx* goes.** Its entries are read by the license compiler of the .NET Framework, which .NET 6 and later don't have. The package brings *txtextcontrol.wpf.license* instead, as [Development Licenses](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/licensing/development/#net-8-or-higher-txtextcontrol-wpf-license) explains.
- **The designer.** With the package installed, the toolbox shows the TX Text Control items for the project, and the XAML designer works as before. See [Visual Studio Toolbox and XAML Designer](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/toolbox/llms-full.txt).

[Installing and Updating Packages](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/nuget/install-update/llms-full.txt) describes the package installation in detail.

### Libraries and Test Projects

On the .NET Framework, the license was compiled into the executable. On .NET, a user control library or class library that contains the `TextControl` or `ServerTextControl`, and a test project that runs with NUnit or MSTest, has to name the assembly with the license through `EntryAssembly` before the first instance is created. [User Controls and Class Libraries](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/licensing/application/#user-controls-and-class-libraries) shows the code for both classes.

### Publish the Application

A .NET application is deployed with **Build** > **Publish Selection** in Visual Studio. Select a folder and the target runtime, such as win-x64, and the publish process copies the TX Text Control assemblies and native libraries with your application. See [Publishing .NET Applications](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/deployment/dotnet/llms-full.txt).

### Related Pages

- [.NET and .NET Framework](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/dotnet/llms-full.txt): the versions of both that TX Text Control supports.
- [Upgrading from Previous Versions](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/previous-versions/llms-full.txt): move the project to version 34.0.
- [Create Your First WPF Application](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/getting-started/document-editor/first-application/llms-full.txt): a new .NET WPF project with TX Text Control, for comparison.
- [Create a .NET Framework Application](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/getting-started/document-editor/dotnet-framework/llms-full.txt): the same application on the .NET Framework.

---

## Nearby

- **Previous:** [Upgrading From Previous Versions](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/previous-versions/llms-full.txt)
- **Next:** [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/llms-full.txt)
