Glossaire .NET

L’objectif principal de ce glossaire est de préciser la signification de certains termes et acronymes qui apparaissent fréquemment dans la documentation .NET.

AOT

Compilateur Ahead Of Time.

Semblable au compilateur JIT, ce compilateur convertit également le langage IL en code machine. Contrairement à la compilation JIT, la compilation AOT se produit avant que l’application ne soit exécutée et est généralement effectuée sur une autre machine. Étant donné que les chaînes d’outil AOT ne se compilent pas au moment de l’exécution, elles n’ont pas besoin de réduire le temps consacré à la compilation. Ainsi, elles peuvent dédier plus de temps à l’optimisation. Étant donné que le contexte d’AOT est l’ensemble de l’application, le compilateur AOT effectue également une liaison entre modules et une analyse de la totalité du programme, ce qui signifie que toutes les références sont suivies et qu’un seul exécutable est produit.

Consultez CoreRT et .NET Native.

Modèle d’application

API spécifique à la charge de travail. Voici quelques exemples :

  • ASP.NET
  • API Web ASP.NET
  • Entity Framework (EF)
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation (WF)
  • Windows Forms (WinForms)

ASP.NET

Implémentation de ASP.NET d’origine fournie avec le .NET Framework, également appelée ASP.NET 4.x et ASP.NET Framework.

ASP.NET est parfois un terme générique qui désigne l’implémentation ASP.NET Core et l’implémentation ASP.NET d’origine. Le sens que le terme porte dans une instance donnée est déterminé par le contexte. Précisez ASP.NET 4.x quand vous voulez indiquer clairement que vous n’utilisez pas ASP.NET pour faire référence aux deux implémentations.

Voir Documentation d’ASP.NET.

ASP.NET Core

Implémentation multiplateforme, hautes performances et open source d’ASP.NET.

Voir Documentation ASP.NET Core.

assembly

Fichier .dll ou .exe qui contient une collection d’API pouvant être appelées par des applications ou d’autres assemblys.

Un assembly contient des types tels que des interfaces, des classes, des structures, des énumérations et des délégués. Les assemblys qui se trouvent dans le dossier bin d’un projet sont parfois appelés binaires. Voir aussi bibliothèque.

Bibliothèque de classes de base

Bibliothèque de classes de base.

Ensemble de bibliothèques qui comprend les espaces de noms System.* (et, dans une certaine mesure, Microsoft.*). La bibliothèque de classes de base est un framework de niveau inférieur à usage général sur lequel reposent les frameworks d’applications de niveau supérieur, tels qu’ASP.NET Core.

Le code source de la liste de contrôle BCL pour .NET est contenu dans le référentiel du runtime .NET. La plupart de ces API de bibliothèque de classes de base sont également disponibles dans .NET Framework. Vous pouvez donc considérer ce code source comme une duplication (fork) du code source de la bibliothèque de classes de base .NET Framework.

Les termes suivants se rapportent souvent à la collection d’API à laquelle la bibliothèque de classes de base fait référence :

CLR

Common Language Runtime.

La signification exacte dépend du contexte. Common Language Runtime fait généralement référence au runtime de .NET Framework ou au runtime de .NET.

Un CLR gère l’allocation et la gestion de la mémoire. Un CLR est également une machine virtuelle qui non seulement exécute des applications, mais aussi génère et compile du code à la volée à l’aide d’un compilateur JIT.

L’implémentation CLR pour .NET Framework est une implémentation Windows uniquement.

L’implémentation clR pour .NET (également appelée CLR Core) est générée à partir de la même base de code que le CLR .NET Framework. À l’origine, le Core CLR était le runtime de Silverlight. Il a été conçu pour s’exécuter sur plusieurs plateformes, en particulier Windows et OS X. Il s’agit toujours d’un runtime multiplateforme et il prend désormais en charge de nombreuses distributions Linux.

Consultez également runtime.

Core CLR

Common Language Runtime pour .NET.

Consultez également CLR.

CoreRT

Contrairement au CLR, CoreRT n’est pas une machine virtuelle, ce qui signifie qu’il n’inclut pas les fonctionnalités de génération et d’exécution de code à la volée en raison de l’absence de compilateur JIT. Toutefois, il inclut le GC et les fonctionnalités RTTI (identification du type au moment de l’exécution) et de réflexion. Toutefois, son système de type est conçu pour que les métadonnées de réflexion ne soient pas nécessaires. Les métadonnées n’étant pas nécessaires, il est possible d’avoir une chaîne d’outils AOT pouvant écarter les métadonnées superflues et (surtout) identifier le code que l’application n’utilise pas. CoreRT est en cours de développement.

Consultez la présentation de CoreRT et .NET Runtime Lab.

interplateformes

Possibilité de développer et d’exécuter une application pouvant être utilisée sur plusieurs systèmes d’exploitation (comme Linux, Windows et iOS) sans avoir à réécrire spécifiquement pour chacun d’eux. Cela permet de réutiliser le code et garantit la cohérence entre les applications sur différentes plateformes.

Consultez Plateforme.

écosystème

Tous les logiciels d’exécution, outils de développement et ressources de communautés qui permettent de générer et d’exécuter des applications pour une technologie donnée.

Le terme « écosystème .NET » diffère des termes tels que « pile .NET » en ce sens qu’il inclut les bibliothèques et les applications tierces. Voici un exemple dans une phrase :

  • « La motivation derrière .NET Standard consistait à établir une meilleure uniformité dans l’écosystème .NET. »

framework

En général, ensemble complet d’API qui facilite le développement et le déploiement d’applications basées sur une technologie particulière. Selon ce sens général, ASP.NET Core et Windows Forms sont des exemples de frameworks d’application. Les mots framework et bibliothèque sont souvent utilisés indifféremment.

Le terme « framework » a une signification différente dans les expressions suivantes :

Parfois, « framework » fait référence à une implémentation de .NET.

Bibliothèques de framework

La signification dépend du contexte. Peut faire référence aux bibliothèques de framework pour .NET, auquel cas elle fait référence aux mêmes bibliothèques auxquelles la liste de contrôle d’accès (BCL ) fait référence. Il peut également faire référence aux bibliothèques d’infrastructure core ASP.NET, qui s’appuient sur la liste de contrôle et fournissent des API supplémentaires pour les applications web.

GC

Garbage collector.

Le garbage collector est une implémentation de la gestion automatique de la mémoire. Le GC libère la mémoire occupée par les objets qui ne sont plus en cours d’utilisation.

Consultez Nettoyage de la mémoire.

IL

Langage intermédiaire.

Les langages .NET de haut niveau, tels que C#, se compilent en un jeu d’instructions indépendant du matériel, qui est appelé Langage intermédiaire (IL). IL est parfois appelé MSIL (Microsoft IL) ou CIL (Common IL).

JIT

Compilateur juste-à-temps.

Semblable au compilateur AOT, ce compilateur convertit le langage IL en code machine que le processeur comprend. Contrairement à la compilation AOT, la compilation JIT se produit à la demande et est effectuée sur la machine sur laquelle le code doit s’exécuter. Étant donné que la compilation JIT se produit pendant l’exécution de l’application, le temps de compilation fait partie du temps d’exécution. Ainsi, les compilateurs JIT doivent trouver un équilibre entre le temps consacré à l’optimisation du code et les économies pouvant découler du code résultant. Toutefois, un compilateur JIT connaît le matériel réel et peut éviter aux développeurs d’avoir à transmettre différentes implémentations.

implémentation de .NET

Une implémentation de .NET inclut :

  • Un ou plusieurs runtimes. Exemples : CLR, CoreRT.
  • Bibliothèque de classes qui implémente une version de .NET Standard et peut inclure des API supplémentaires. Exemples : bcls pour .NET Framework et .NET.
  • Le cas échéant, un ou plusieurs frameworks d’application. Exemples : ASP.NET, Windows Forms et WPF sont inclus dans .NET Framework et .NET.
  • Le cas échéant, des outils de développement. Certains outils de développement sont partagés entre plusieurs implémentations.

Exemples d’implémentations de .NET :

Pour plus d’informations, consultez Implémentations de .NET.

bibliothèque

Ensemble d’API que peuvent appeler les applications ou d’autres bibliothèques. Une bibliothèque .NET est composée d’un ou plusieurs assemblys.

Les mots bibliothèque et framework sont souvent utilisés indifféremment.

Mono

Implémentation code source ouvert multiplateforme.NET utilisée lorsqu’un petit runtime est nécessaire. Il s’agit du runtime qui alimente les applications Xamarin sur Android, Mac, iOS, tvOS et watchOS et se concentre principalement sur les applications qui nécessitent une petite empreinte.

Il prend en charge toutes les versions de .NET Standard publiées.

Historiquement, Mono implémentait l’API plus volumineuse de .NET Framework et émulait certaines des fonctionnalités les plus populaires sur Unix. Il est parfois utilisé pour exécuter des applications .NET qui s’appuient sur ces fonctionnalités sur Unix.

Mono est généralement utilisé avec un compilateur juste-à-temps, mais il comporte également un compilateur statique (compilation Ahead Of Time) complet, qui est utilisé sur des plateformes comme iOS.

Pour plus d’informations, consultez la documentation de Mono.

AOT natif

Mode de déploiement où l’application est autonome et est compilée à l’avance en code natif au moment de la publication. Les applications AOT natives n’utilisent pas de compilateur JIT au moment de l’exécution. Elles peuvent s’exécuter sur des machines sur lesquelles le runtime .NET n’est pas installé.

Pour plus d’informations, consultez Déploiement AOT natif.

.NET

.NET a deux significations, et celle prévue dépend du contexte :

  • .NET peut être utilisé comme terme parapluie pour .NET Standard et toutes les implémentations et charges de travail .NET.
  • .NET fait plus fréquemment référence à l’implémentation multiplateforme, haute performance et open source de .NET qui était appelée .NET Core. Il peut également être appelé .NET 5 (et .NET Core) et versions ultérieures ou uniquement .NET 5+.

Par exemple, la première signification est prévue dans des expressions telles que « implémentations de .NET ». La deuxième signification est destinée aux noms tels que le Kit de développement logiciel (SDK) .NET et l’interface CLI .NET. En l’absence de contexte qui indique la première signification est prévue, supposons que la deuxième signification est prévue.

Les versions antérieures de .NET sont appelées .NET Core 1 à 3.1. Les numéros de version ignorent 4 et la version qui a suivi la version 3.1 est appelée .NET 5, en supprimant « Core » du nom. La suppression de « Core » a été effectuée pour souligner que cette implémentation de .NET est celle qui est recommandée pour tous les nouveaux développements. Ignorer la version 4 a été effectuée pour éviter de confondre cette nouvelle implémentation de .NET avec l’ancienne implémentation appelée .NET Framework. La version actuelle de .NET Framework est 4.8.1.

.NET est toujours entièrement en majuscules (jamais « .Net »).

Consultez Documentation .NET.

CLI .NET

Chaîne d’outils multiplateforme pour le développement d’applications et de bibliothèques pour .NET. Également appelé CLI .NET Core.

Consultez CLI .NET.

.NET Core

Voir .NET.

.NET Framework

Implémentation de .NET qui s’exécute uniquement sur Windows. Inclut le CLR (Common Language Runtime), la bibliothèque de classes de base et des bibliothèques de framework d’application telles qu’ASP.NET, Windows Forms et WPF.

Consultez Guide du .NET Framework.

.NET Native

Chaîne d’outils de compilateur qui génère du code natif AOT (Ahead Of Time), par opposition à JIT (juste-à-temps).

La compilation se produit sur la machine du développeur, à l’image du fonctionnement d’un éditeur de liens et d’un compilateur C++. Elle supprime le code inutilisé et consacre plus de temps à l’optimisation du code. Elle extrait le code des bibliothèques et le fusionne dans le fichier exécutable. Le résultat est un module unique qui représente l’application entière.

UWP est le framework d’application pris en charge par .NET Native.

Consultez Documentation .NET Native.

Kit de développement logiciel (SDK) .NET

Ensemble de bibliothèques et d’outils qui permettent aux développeurs de créer des applications et des bibliothèques pour .NET. Également appelé Kit de développement logiciel (SDK) .NET Core.

Inclut la CLI .NET pour la génération d’applications, les bibliothèques .NET et le runtime pour la génération et l’exécution d’applications et l’exécutable dotnet (dotnet.exe) qui exécute les commandes CLI et les applications.

Consultez Vue d’ensemble du SDK .NET.

.NET Standard

Spécification formelle des API .NET disponibles dans chaque implémentation de .NET.

La spécification .NET Standard est parfois appelée bibliothèque. Comme une bibliothèque inclut des implémentations d’API, outre des spécifications (interfaces), il est trompeur d’appeler .NET Standard une « bibliothèque ».

Consultez .NET Standard.

NGen

Génération (d’images) native

Vous pouvez considérer cette technologie comme un compilateur JIT persistant. Elle compile généralement le code sur la machine où le code est exécuté, mais la compilation se produit en règle générale au moment de l’installation.

package

Un package NuGet (ou simplement un package) est un fichier .zip qui comporte un ou plusieurs assemblys portant le même nom ainsi que des métadonnées supplémentaires telles que le nom de l’auteur.

Le fichier .zip a une extension .nupkg et peut contenir des ressources, telles que des fichiers .dll et des fichiers .xml , à utiliser avec plusieurs frameworks et versions cibles. Quand ils sont installés dans une application ou une bibliothèque, les composants appropriés sont sélectionnés en fonction du framework cible spécifié par l’application ou la bibliothèque. Les composants qui définissent l’interface se trouvent dans le dossier ref, tandis que les ressources qui définissent l’implémentation se trouvent dans le dossier lib.

plateforme

Système d’exploitation et le matériel sur lequel il s’exécute, tel que Windows, macOS, Linux, iOS et Android.

Voici quelques exemples d’utilisation dans des phrases :

  • « .NET Core est une implémentation multiplateforme de .NET ».
  • « Les profils de bibliothèque de classes portable représentent des plateformes Microsoft, alors que .NET Standard est indépendant de la plateforme. »

La documentation .NET héritée utilise parfois le terme « plateforme .NET » pour désigner soit une implémentation de .NET, soit la pile .NET incluant toutes les implémentations. Ces deux utilisations ayant tendance à être confondues avec la signification principale (système d’exploitation/matériel), nous essayons de les éviter.

Le terme « plateforme » a une signification différente dans l’expression « plateforme de développement », qui fait référence aux logiciels fournissant des outils et des bibliothèques pour la création et l’exécution d’applications. .NET est une plateforme de développement multiplateforme et open source permettant de créer de nombreux types d’applications différents.

POCO

Un OCT (ou objet CLR traditionnel) est une structure de données .NET qui contient uniquement des propriétés ou des champs publics. Un OCT ne doit contenir aucun membre autre que :

  • methods
  • événements
  • délégués

Ces objets sont principalement utilisés comme objets de transfert de données. Un POCO pur n’hérite pas d’un autre objet ou n’implémente pas une interface. Les OCT sont couramment utilisés avec la sérialisation.

runtime

En général, l’environnement d’exécution d’un programme managé. Le système d’exploitation fait partie de l’environnement d’exécution, mais pas du runtime .NET. Voici quelques exemples de runtimes .NET s’inscrivant dans cette signification :

  • CLR (Common Language Runtime)
  • .NET Native (pour la plateforme Windows universelle)
  • Runtime Mono

Le mot « runtime » a une signification différente dans certains contextes :

  • Runtime .NET sur la page de téléchargement .NET 5.

    Vous pouvez télécharger le runtime .NET ou d’autres runtimes tels que le runtime ASP.NET Core. Dans ce contexte, un runtime est l’ensemble de composants qui doivent être installés sur une machine pour l’exécution d’une application dépendante du framework sur cette machine. Le runtime .NET inclut le CLR et le framework partagé .NET, qui fournit la bibliothèque de classes de base.

  • Bibliothèques d’exécution .NET

    Se rapporte aux bibliothèques auxquelles la bibliothèque de classes de base fait référence. Toutefois, d’autres runtimes (comme le runtime ASP.NET Core) ont des frameworks partagés différents, avec des bibliothèques supplémentaires qui s’appuient sur la bibliothèque de classes de base.

  • Identificateur de runtime.

    Ici, runtime fait référence à la plateforme de système d’exploitation et à l’architecture de processeur sur lesquels une application .NET s’exécute, par exemple : linux-x64.

  • Parfois, « runtime » est utilisé dans le sens d’implémentation de .NET comme dans les exemples suivants :

    • « Les différents runtimes .NET implémentent des versions spécifiques de .NET Standard. ... Chaque version du runtime .NET publie la version .NET Standard la plus élevée qu’elle prend en charge... »
    • « Les bibliothèques destinées à s’exécuter sur plusieurs runtimes doivent cibler ce framework. » (en référence à .NET Standard)

Framework partagé

La signification dépend du contexte. Le framework partagé .NET fait référence aux bibliothèques incluses dans le runtime .NET. Dans ce cas, le framework partagé pour .NET fait référence aux mêmes bibliothèques auxquelles la liste de contrôle d’accès (BCL ) fait référence.

Il existe d’autres frameworks partagés. Le framework partagé ASP.NET Core fait référence aux bibliothèques incluses dans le runtime ASP.NET Core, qui inclut la bibliothèque de classes de base et des API supplémentaires destinées à être utilisées par des applications web.

Pour les applications dépendantes du framework, le framework partagé se compose de bibliothèques contenues dans des assemblys installés dans un dossier sur la machine qui exécute l’application. Pour les applications autonomes, les assemblys de framework partagé sont inclus avec l’application.

Pour plus d’informations, consultez Deep-dive into .NET Core primitives, part 2: the shared framework (Présentation approfondie des primitives .NET Core, partie 2 : framework partagé).

pile

Ensemble de technologies de programmation qui sont utilisées conjointement pour générer et exécuter des applications.

L’expression « la pile .NET » fait référence à .NET Standard et à toutes les implémentations de .NET. L’expression « une pile .NET » peut faire référence à une implémentation de .NET.

version cible de .NET Framework

Ensemble d’API sur lequel repose une bibliothèque ou une application .NET.

Une application ou une bibliothèque peut cibler une version de .NET Standard (par exemple, .NET Standard 2.0), qui est une spécification d’un ensemble standard d’API parmi toutes les implémentations de .NET. Une application ou une bibliothèque peut également cibler une version d’une implémentation spécifique de .NET ; dans ce cas, elle a accès aux API spécifiques à l’implémentation. Par exemple, une application qui cible Xamarin.iOS accède aux wrappers d’API iOS fournis par Xamarin.

Pour certains frameworks cibles (par exemple, .NET Framework) les API disponibles sont définies par les assemblys qu’une implémentation .NET installe sur un système, qui peuvent inclure des API d’infrastructure d’application (par exemple, ASP.NET, WinForms). Pour les frameworks cibles basés sur le package, les API de framework sont définies par les packages installés dans l’application ou la bibliothèque.

Consultez Versions cibles de .NET Framework.

TFM

Moniker de la version cible de .Net Framework.

Format de jeton standardisé pour la spécification du framework cible d’une bibliothèque ou d’une application .NET. Les frameworks cibles sont en général référencés par un nom court, tel que net462. Les tfms de type long (par exemple .NETFramework,Version=4.6.2) existent, mais ne sont pas généralement utilisées pour spécifier une infrastructure cible.

Consultez Versions cibles de .NET Framework.

UWP

Plateforme Windows universelle.

Implémentation de .NET qui sert à générer des logiciels et des applications Windows tactiles pour l’IoT (Internet des objets). Il est conçu pour unifier les différents types d’appareils que vous souhaiterez peut-être cibler, y compris les PC, tablettes, téléphones, et même la Xbox. UWP fournit de nombreux services, comme un magasin d’applications centralisé, un environnement d’exécution (AppContainer) et un ensemble d’API Windows à utiliser à la place de Win32 (WinRT). Les applications peuvent être écrites en C++, C#, Visual Basic et JavaScript. Lorsque vous utilisez C# et Visual Basic, les API .NET sont fournies par .NET.

charge de travail

Type d’application qu’une personne crée. Plus générique que modèle d’application. Par exemple, en haut de chaque page de documentation .NET, y compris celle-ci, se trouve une liste déroulante Charges de travail, qui vous permet de basculer vers la documentation pour les types de charge de travail suivants : Web, Mobile, Cloud, Desktop et Machine Learning et données.

Dans certains contextes, la charge de travail fait référence à une collection de fonctionnalités Visual Studio que vous pouvez installer pour prendre en charge un type d’application particulier. Pour obtenir un exemple, consultez Sélectionner une charge de travail.

Voir aussi