ASP.NET Core Document Editor with Backend via the Text Control Private NuGet Feed
This article demonstrates how to create a Document Editor ASP.NET Core application using the Text Control Private NuGet Feed. We will build a basic web application that enables users to edit documents directly in their web browser with the Document Editor component from Text Control. The backend is powered by the Private NuGet Feed, which provides seamless licensing and eliminates the need for setup.

Private Text Control NuGet Feed
The Text Control private NuGet feed lets developers install licensed TX Text Control .NET packages with automatic license injection. Authentication uses API tokens tied to assigned serials. The feed integrates with Visual Studio and CI/CD pipelines on GitHub, GitLab, and Azure DevOps.
Introduction
This article will demonstrate how to create a Document Editor ASP.NET Core application using the Text Control private NuGet feed. We will develop a basic web application that allows users to edit documents directly in their web browser using the Document Editor component from Text Control. The backend package is powered by the private NuGet feed, which provides seamless licensing and eliminates the need to download server components.
Prerequisites
To use the private NuGet feed, you must have a valid license for the Text Control .NET Server for ASP.NET product. A serial number must be assigned to your email address. If you do not have a license, you can request one from your account holder.
Learn more
Authentication uses the assigned developer's email address and API token. This email address connects to all the serial numbers assigned to the developer, providing access to their entire license portfolio.
Learn how to create a NuGet token and use the Text Control Private NuGet Feed in your projects.
Creating the Application
Make sure that you have installed the latest version of Visual Studio 2026, including the .NET 10 SDK.
-
In Visual Studio 2026, create a new project by choosing Create a new project.
-
Select ASP.NET Core Web App (Model-View-Controller) as the project template and confirm with Next.
-
Enter a project name and choose a location to save the project. Confirm with Next.
-
Choose .NET 10.0 (Long Term Support) as the Framework.
Adding the NuGet Packages
-
In Solution Explorer, select your project and choose Manage NuGet Packages… from the Project menu. Then set your private NuGet feed (TextControl) as the package source.
Install the following packages:
- TXTextControl.Web
- TXTextControl.TextControl.Core.SDK
- TXTextControl.Web.DocumentEditor.Backend

Configure the Application
-
Open the Program.cs file located in the project's root folder.
At the very top of the file, insert the following code:
using TXTextControl.Web; using TXTextControl.Web.DocumentEditor.Backend;After builder.Services.AddControllersWithViews();, add the following code:
builder.Services.AddHostedService<DocumentEditorWorkerManager>();Add the following code before the entry
app.UseRouting();:// enable Web Sockets app.UseWebSockets(); // attach the Text Control WebSocketHandler middleware app.UseTXWebSocketMiddleware();The overall Program.cs file should look like this:
using TXTextControl.Web; using TXTextControl.Web.DocumentEditor.Backend; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); builder.Services.AddHostedService<DocumentEditorWorkerManager>(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseWebSockets(); app.UseTXWebSocketMiddleware(); app.UseAuthorization(); app.MapStaticAssets(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}") .WithStaticAssets(); app.Run();
Adding the Control to the View
-
Find the Index.cshtml file in the Views -> Home folder. Replace the complete content with the following code to add the document editor to the view:
@using TXTextControl.Web.MVC @{ var sDocument = "<html><body><p>Welcome to <strong>Text Control</strong></p></body></html>"; } @Html.TXTextControl().TextControl(settings => { settings.UserNames = new string[] { "Tim Typer" }; }).LoadText(sDocument, TXTextControl.Web.StringStreamType.HTMLFormat).Render() <input type="button" onclick="insertTable()" value="Insert Table" /> <script> function insertTable() { TXTextControl.tables.add(5, 5, 10, function(e) { if (e === true) { // if added TXTextControl.tables.getItem(function(table) { table.cells.forEach(function(cell) { cell.setText("Cell text"); }); }, null, 10); } }) } </script>
Starting the Application
-
Start the application by pressing F5 or by choosing Debug -> Start Debugging from the main menu.
ASP.NET
Integrate document processing into your applications to create documents such as PDFs and MS Word documents, including client-side document editing, viewing, and electronic signatures.
- Angular
- Blazor
- React
- JavaScript
- ASP.NET MVC, ASP.NET Core, and WebForms
Related Posts
ASP.NETApp ServicesASP.NET Core
Deploying the TX Text Control Document Editor from the Private NuGet Feed to…
This tutorial shows how to deploy the TX Text Control Document Editor to Azure App Services using an ASP.NET Core Web App. The Document Editor is a powerful word processing component that can be…
Build a Custom Backstage View in ASP.NET Core with TX Text Control
This article shows how to build a custom backstage view with a File tab to load your multi-format documents using TX Text Control for ASP.NET Core applications.
Building a TX Text Control Project with GitHub Actions and the Text Control…
This tutorial provides a step-by-step guide to setting up a clean, reproducible environment using GitHub Actions. It starts with a brand-new project and ends with a fully automated build and test…
Text Control Private NuGet Feed
The Text Control private NuGet feed lets developers install licensed TX Text Control .NET packages with automatic license injection. Authentication uses API tokens tied to assigned serials. The…
ASP.NETASP.NET CoreDocument Automation
Why Document Processing Libraries Require a Document Editor
A document processing library alone cannot guarantee reliable and predictable results. Users need a true WYSIWYG document editor to design and adjust templates to appear exactly as they will after…
