Search

Atalasoft Knowledge Base

FAQ: Support for ASP.NET Core / .NET Core / .NET 5 / .NET 6

Administrator
DotImage

IMPORTANT: NEW FOR 11.4

Up until version 11.4, the original answer to "do you support .NET Core" was "In a very limited way - we support ASP.NET Core on web apps but targeting .NET framework"

With the release of 11.4 we have finally been able to bring .NET Core (.NET 6) into DotImage

The older means of using ASP.NET Core targeting .NET framework are still technically valid for 11.3 and older, but going forward, when moving to 11.4 you will need to re-target to use .NET 6 (technically .NET 5 is possible but since MS has ended support for .NET 5, we consider it not officially supported)

PLEASE DO NOT use the old 11.3 or older (ASP.NET Core targeting .NET Framework) for any new web development as this was only a stop gap workaround until we could get proper .NET 5/ .NET 6 support running

NOTE we do not have support for .NET Core 3.1 at all

Cross Platform (Linux) is NOT supported

Unfortunately, in order to support true cross platform deployment (such as is needed to deploy to Linux / Linux containers) our SDK would need to use "fully managed code". We have a huge amount of assembly language and C++ at the heart of our internal code and such an endeavor would require rewriting / porting ALL of it.

Thus our .NET 5 / .NET 6 support can only be used on Windows containers/hosting

Locations of relevant resources

Desktop / Winforms / Console Apps (non-web)

If you're looking to target desktop / console apps, etc, you can find our DLLs for use in .NET 5 and up on your development machine where you installed DotImage 11.4

They can be found in

C:\Program Files (x86)\Atalasoft\DotImage 11.4\bin\5.0\x86
and
C:\Program Files (x86)\Atalasoft\DotImage 11.4\bin\5.0\x64

Web Application Development

For web components it is critical that you use the proper NuGet packages .. our extensive tutorial on how to get up and running with .NET 6 covers the details but the quick start / TL;DR: is:

Use the NuGet package console and issue this command:

Install-Package Atalasoft.DotImage.WebControls.Core.x64

For a complete tutorial on on how to use our WebDocumentViwer in .NET 6 please see:

INFO:WDV In .NET 6 - Getting Started

 

.NET Core 3.1 / .NET 5 / .NET 6 (sometimes referred to as .NET Core or .NET Core Native)

A lot of customers have asked about .NET Core 3.1 / .NET 5 / .NET 6 / .NET Core support.

Up to and through 11.3 DotImage has been completely and only a .NET Framework SDK .. in the past, before .NET Core, that was clear enough as the only ".NET" was shorthand for .NET Framework.

Now with Microsoft .NET Core and .NET Framework and ASP.NET Core, there can be confusion.

When referring to 11.3 and older, our SDK only a .NET Framework SDK, and unfortunately, at this time, the answer is no, we do not support .NET 5 / .NET 6 / .NET Core Native

For .NET 5 and .NET 6 please move to DotImage 11.4

LEGACY RESPONSE REGARDING 11.3 AND OLDER - OUT OF DATE INFO

Support for ASP.NET Core Apps for WebDocumentViewer and WebCapture

As of 11.0, we now do have support for ASP.NET Core apps targeting the .NET framework for our WebDocumentViewer

IMPORTANT NOTE:
Atalasoft DotImage components can be used along with ASP.Net Core libraries, but it requires the application to be built for .Net Framework 4.5.2 for ASP.NET Core 1.x and at least Framework 4.6.2 for ASP.NET Core 2.x

You should create new projects in Visual Studio from the ASP.NET Core Web Application template, using .NET Framework and ASP.NET Core 1.1 like this:

By default the left combobox has value .NET Core which we do not support. If you try to create new project with default settings, you won't be able to use the WDV.

NOTE: we do support targeting ASP.NET core 2.x .. version 11.0 works with it, but you  will need to target at least .NET framework 4.6.2

We have a similar screenshot in our tutorial, but Microsoft updated its template in a recent Visual Studio update.

Customizing Middleware / Event Handling (Formerly Custom Handler)

In the tutorial, you will see a brief mention about customizing the middleware:

If you want to customize this middleware, you can choose another overload of the method RunWebDocumentViewerMiddleware that accepts implementation of the interface IWebDocumentViewerCallbacks.

However, it's a bit light on details. So here's the "missing piece"

Instead of this line

    app.Map("/wdv", wdvApp => { wdvApp.RunWebDocumentViewerMiddleware(); });

use this line:

	app.Map("/wdv", wdvApp => { wdvApp.RunWebDocumentViewerMiddleware(new MyWDVCallbacks()); } );

and add this class

public class MyWDVCallbacks : WebDocumentViewerCallbacks
{
    public override void DocumentInfoRequested(DocumentInfoRequestedEventArgs args)
    {
        Console.WriteLine("**********===DocumentInfoRequested===**********");
        base.DocumentInfoRequested(args);
    }

    public override void ImageRequested(ImageRequestedEventArgs args)
    {
        Console.WriteLine("**********===ImageRequested===**********");
        base.ImageRequested(args);
    }
    
    /*
     * The above was just an example of hooking to the two main events.. you can handle any exposed event here
     *
     * //.. most common ...
     *  AnnotationDataRequested
     *  DocumentSave
     *  DocumentStreamWritten
     *  AnnotationStreamWritten
     *  //.. less common .
     *  PageTextRequested
     *  PdfFormRequested
     *  //.. rarely if ever used ..
     *  ReleaseDocumentStream
     *  ReleasePageStream
     *  ResolveDocumentUri
     *  ResolvePageUri
     */
}

Support for ASP.NET Core 2.x

The 11.0 and 11.1 versions were only certified for ASP.NET Core 1.x (Targeting .NET Framework 4.5.2 or higher). It was possible to target ASP.NET Core 2.x, but was not officially certified.

The 11.2 version now officially supports ASP.NET Core 2.1 targeting .NET Framework 4.6.1 or higher.

Support for ASP.NET Core 3.x

At this time we do not have certified support for ASP.NET Core 3.x though you may find that you can target it with the latest .NET Framework - keep an eye on release notes for later versions.

Support for ASP.NET Core in Legacy Web Controls

Our legacy web controls (WebImageViewer / WebAnnotationViewer / WebThumbnailViewer) do NOT have any support for ASP.NET Core or .NET Core native. The only support for ASP.NET Core we provide at this time is for the new WebDocumentViewer / WebDocumentThumbnailer controls mentioned above.

ASP.NET Core Blazor

The question of whether we support ASP.NET Core Blazor has come up. At this time (as of 11.2) we do not officially support it.

Indications are that it may be possible to use jQuery and js within the Blazor pages, and in theory if they let you run them and you can load our required js and css files and reference the required jQuery, jQuery-UI, etc, it might be able to work.

Please see https://www.talkingdotnet.com/using-jquery-with-asp-net-core-blazor/

However, at this time it is not tested and would be considered "use at your own risk". We require an IIS server on the back end running ASP.NET or ASP.NET Core (targeting .NET Framework) for our handler / middle-wear to run. There is no client-only option.

More Resources

INFO: ASP.NET Core WDV Whitepaper - Getting Started

Original Article:

Q10467 - FAQ: Support for ASP.NET Core / .NET Core

Details
Last Modified: 4 days ago @ 8:18 AM
Last Modified By: Tananda
Type: FAQ
Rated 2 stars based on 4 votes.
Article has been viewed 9.3K times.
Options
Also In This Category