How to Choose the Right .NET SDK for Auth0
Tags: dotnet, programming, security
Published: 2022-10-19 13:24:20

> Original post written by [Andrea Chiarelli](https://auth0.com/blog/authors/andrea-chiarelli/) for Auth0 blog.

### The .NET ecosystem has become quite complex. Here is a map to choose the right SDK to integrate Auth0 in your .NET application.

### <br>

The .NET ecosystem has become quite complex. On the one hand, developers can create different types of applications for different platforms. On the other hand, in its 20-year history, .NET has generated different versions of the development platform, some incompatible with each other or compatible under specific criteria.

Auth0 provides developers with a few SDKs for different application types and different versions of the platform. Which one is right for your application? Let's find out together!

> If you want to find out directly what is the SDK or package to use in your .NET application to integrate with Auth0 without sitting through the rationale behind it, jump to the section [The Matrix of Solutions](#The-Matrix-of-Solutions).

## The Dimensions of the Problem

Let's start by exploring the dimensions of the problem, that is, the factors that influence the choice: the application type, the .NET target, and the role of Auth0.

### The application type

As the first dimension, you need to consider your **application type**. As a .NET developer, you know that the development platform allows you to create applications of several types: from Web to desktop apps, from Web APIs to mobile apps. You can also use different frameworks to build your app. For example, you leverage ASP.NET or ASP.NET Core to build a Web application, but you can use ASP.NET Core MVC or Razor Pages or Blazor Server as the frameworks that support your UI and application architecture. Something similar happens for desktop app UIs: you can use WinForms or Windows Presentation Foundation (WPF) or Universal Windows Platform (UWP), etc.

Identifying your application type and the technology you use or you are going to use is the first step to determining which SDK you must use.

### The .NET target

The second dimension is the .NET version your application runs on, which in the .NET lingo is called **your application's target**. The .NET platform has evolved over the past two decades and has undergone several transformations. From the initial multi-language framework for Windows programming, it has now become a cross-platform development environment that enables the creation of Web, desktop, and mobile applications. You can take into account the following targets:

- *.NET Framework*. This was the initial Windows framework, which will be deprecated, but on which many applications still run.
- *.NET Core*. The initial cross-platform version of .NET, which is not fully compatible with the .NET Framework. The last .NET Core version was 3.1.
- *.NET Standard*. Actually, this is not a true .NET version. It is a specification that aims at defining a common set of APIs between .NET Framework and .NET Core to ensure a degree of compatibility between the two versions. Auth0 SDKs follow .NET Standard 2.0 specifications to keep this compatibility.
- *.NET*. This is the current and universal version of the development platform that aims to replace all the previous ones. From the Auth0 point of view, it can be seen as the evolution of .NET Core.

[Read more...](https://auth0.com/blog/choose-the-right-dotnet-sdk-for-auth0/?utm_source=devto&utm_medium=sc&utm_campaign=devto)