We just published a multi-platform NuGet package that includes a .NET Framework 4.5 and a .NET Core 3.1 assembly version. The functionality of the .NET Core version is exactly the same like the full framework version and can be easily used to port your projects to .NET Core 3.1.
Why Is .NET 3.1 Supported and Not .NET 2.1?
Word processing is a complex task and requires some high-performance modules which are written in C++. Finally, the .NET Core 3.1 runtime added support for IJW C++/CLI on Windows that makes .NET Core 3.1 a usable target for TX Text Control applications running on Windows.
Additionally, the official package System.Drawing.Common from Microsoft provides access to GDI+ graphics functionality which is required in TX Text Control applications.
Creating the Application
The following tutorial shows how to create an ASP.NET Core 3.1 Web Application that can be deployed to Windows machines.
In Visual Studio 2019 (> 16.04), create a new project and select ASP.NET Core Web Application as the project template.
Select a project name (myDotnetCoreApp in this sample), location and solution name in the next dialog and confirm with Create.
In the last dialog, select .NET Core and ASP.NET Core 3.1 as the project target, select Web Application (Model-View-Controller) as the template and confirm with Create.
Open the Package Manager Console by choosing Package Manager Console from the Tools -> NuGet Package Manager main menu and type in the following command to install the TXTextControl.Web.DocumentViewer package:
PM> Install-Package TXTextControl.Web.DocumentViewer
While the project is selected in the Solution Explorer, choose Project -> Add Reference... to open the Reference Manager. In the opened dialog, select Browse... to select the required TX Text Control assemblies. Navigate to the installation folder of TX Text Control and select the following assemblies from the Assembly folder:
Repeat this step with the following assemblies from the Assembly/bin64 folder:
After selecting these assemblies, close the Reference Manager by confirming with OK.
While the project is selected in the Solution Explorer, choose Project -> Add Existing Item.... Browse to the TX Text Control installation folder and select the following files from the Assembly/bin64:
Select the files from step 6 in the Solution Explorer and set the Copy to Output Directory to Copy always.
While the project is selected in the Solution Explorer, choose Project -> Add New Item.... Select Text File, name the file licenses.licx and close the dialog by clicking Add.
Open the newly added file and add the following content:
Set the Copy to Output Directory property to Copy Always.
Projects built with .NET Core 3.1 are not able to compile licenses into the resources using the license compiler. This manual step is required for licensed controls in .NET Core 3.1 applications.
Build the application now by pressing F6 or choose Build Solution from the Build main menu.
Open a Developer Command Prompt with explicit administrator rights and change the directory to the project output directory such as \bin\debug\dotnetcoreapp3.1. Type in the following command:
lc.exe /target:myDotnetCoreApp.dll /complist:licenses.licx /i:"TXTextControl.Server.dll"
Where myDotnetCoreApp.dll is the assembly name of your web application.
Now, type in the following command to rename and move the created license file to the project's root folder:
move myDotnetCoreApp.dll.licenses ..\..\..\dll.licenses
Back in Visual Studio, select the file dll.licenses in the Solution Explorer and set the Build Action to Embedded Resource.
While the project is selected in the Solution Explorer, create a new folder and name it App_Data by choosing New Folder from the Project main menu.
Select the App_Data folder and click Add Existing Item... from the Project main menu.
Browse to the following TX Text Control installation folder:
C:\Program Files\Text Control GmbH\TX Text Control 28.0.NET Server for ASP.NET\Samples\Demo\
Select the file demo.rtf and confirm with Add.
Open the file Startup.cs and insert the following code anywhere to the Configure method to enable the App_Data folder:
Open the Index.cshtml view from the Views -> Home folder and delete the pre-defined code and replace it with the following:
Compile and start your application by pressing F5.