Microsoft .NET Standard – Présentation

La plateforme .NET est composée d’un ensemble d’un ensemble de Frameworks (Framework .NET, Framework .NET Core, Xamarin) implémentant leurs propres spécifications, ainsi que des spécifications communes, elles-mêmes implémentées par .NET Standard. Cette implémentation constitue un ensemble d’API qui peut être ciblé par un assembly. Le code de cet assembly peut alors être exécuté dans tous les Frameworks de la plateforme .NET. Voici une description de la plateforme .NET :

.NET Framework contient des API qui sont fortement liées aux API de la plateforme Windows. C’est pourquoi les applications ciblant ce Framework sont uniquement exécutables sur cette plateforme. Les applications ciblant le Framework .NET Core peuvent s’exécuter sur les plateformes Windows, macOs et Linux. Enfin, les applications ciblant le Framework Xamarin peuvent s’exécuter sur Windows Phone, IPhone et Androïd.

Chaque Framework de la plateforme .NET contient :

  • Un ensemble de librairies de types (classes, interfaces, délégués, énumérations, …) contenant des API fondamentales pour le développement d’applications et des API spécifiques pour développer des types de logiciels spécifiques (indiqués dans le schéma ci-dessus)
  • Un ou plusieurs environnements d’exécution :
    1. Framework .NET : CLR
    2. –Framework .NET Core : CoreCLR
    3. -Des outils (pour la compilation et le débogage du code, …)

Comment cela se traduit dans Visual Studio ?

.NET Standard réduit considérablement l’utilisation de la compilation conditionnelle dans les projets ciblant le Framework .NET et le Framework .NET Core.

Les différentes implémentations de la plateforme .NET ciblent des versions spécifiques de .NET Standard. La compatibilité descendante est assurée.

Concernant l’évolution du Framework .NET Standard, Microsoft garantit que chaque nouvelle version ajoute des nouveautés en conservant toutes les API de la version précédente. Une fois la nouvelle version publiée, les spécifications sont figées.

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j’alterne les missions de formation et d’ingénierie avec cette plateforme. J’écris ce blog pour transmettre mes connaissances à tout développeur, qu’il soit débutant ou expérimenté.