Le Prononcé en anglais, car est l'équivalent anglophone du mot « point », dans le contexte d'une adresse web. () est un cadriciel () propriétaire de Microsoft qui s’exécute principalement sur Microsoft Windows, (). Il s’agissait de l’implémentation principale de la Common Language Infrastructure (CLI), jusqu’à la sortie d’une nouvelle implémentation multiplateforme appelée simplement .NET.
Une version légère et limitée fournie avec un moteur d'exécution fonctionnant à l'intérieur d'un navigateur ou d' a été rendue disponible sous le nom de . La version 3.0 du cadriciel a été intégrée à Windows Vista et à la plupart des versions de Windows Server 2008. et la version 4.8 à Windows 11.
Environnement d’exécution s'appuie sur la norme (CLI), qui est indépendante du langage de programmation utilisé. Ainsi, tous les langages compatibles respectant la norme CLI ont accès à toutes les bibliothèques installées (installables) dans l'environnement d'exécution; un logiciel écrit en C# peut par exemple utiliser des bibliothèques implémentées en Visual Basic .NET.
Il a pour but de faciliter la tâche des développeurs en proposant une approche unifiée à la conception d'applications Windows ou web, tout en introduisant des facilités pour le développement, le déploiement et la maintenance d'applications. Il a besoin d'être installé sur la machine de l'utilisateur final, rendant les applications créées sous cet environnement impropres à un usage portable.
Les programmes utilisant le .NET framework s’exécutent en effet dans un environnement d’exécution logiciel plutôt que directement sur le hardware de la machine hôte. Cet environnement virtualisé, le Common Language Runtime (CLR), est similaire à une machine virtuelle fournissant des services intégrés tels que la gestion mémoire, des couches de sécurité, la gestion d’exceptions…
Par ailleurs, .NET Framework fournit une bibliothèque standard nommée Framework Class Library (FCL). La combinaison de FCL et CLR constitue le framework à proprement parler.
La plate-forme hérite du et du CLR s'inscrit dans la plateforme logicielle , laquelle permet en outre de gérer tous les aspects de l'exécution d'une application dans un environnement d'exécution dit « managé » : allocation de mémoire pour le stockage des données et des instructions du programme ; autorisation ou refus des droits à l'application ; démarrage et gestion de l'exécution ; gestion de ré-allocation de la mémoire pour les ressources qui ne sont plus utilisées.
Elle est composée de deux principaux blocs : une bibliothèque logicielle et une machine virtuelle compatible (CLI), sous les noms de (CLR) et (DLR). CLR est le composant de machine virtuelle pour le cadriciel . Il s'agit de l'implémentation par Microsoft du standard (CLI) qui définit l'environnement d'exécution des codes de programmes. Le CLR fait tourner un nommé (CIL). Le compilateur à la volée transforme le code CIL en code natif spécifique au système d'exploitation.
Bibliothèques de classes Il y a trois couches au-dessus du (CLR), chacune comportant des classes apportant des fonctionnalités de plus en plus évoluées.
Dans la première couche se trouve la (BCL), rassemblant des classes permettant les manipulations de chaînes de texte, la gestion des entrées/sorties, des communications réseaux, des processus légers et le design des interfaces graphiques. Ces classes sont similaires à celles présentes dans l'API Java développée par Sun Microsystems. La manipulation des chaînes de caractères, par exemple, est disponible dans la classe String, dans les deux langages ; la différence étant qu'en Java il n'existe pas de type de base pour manipuler les chaînes (on manipule des objets String), alors qu'en .NET, le type string (avec un « s » minuscule) a spécifiquement été défini.
Classes d'accès aux données La deuxième couche est composée de deux bibliothèques de classes d'accès aux données. Tout d'abord, ADO.NET, s'élevant sur les bases de l'ancien ADO (ActiveX Data Objects) utilisé par les développeurs ASP, et permettant l'accès sous format XML aux interfaces de bases de données SQL Server, ODBC, OLE DB, Oracle et Sybase, et bien sûr aux fichiers XML. Les XML Classes permettent de manipuler les données XML. On y trouve par exemple les classes XSLT permettant la transformation d'un document XML vers n'importe quel type d'autre document. Un autre exemple, il est très facile de charger un document XML dans une table, et vice versa, grâce au XML sous-jacent.
XML Web Services, Web Forms, Windows Forms La dernière couche, la plus élevée, est utilisée pour la création de services web, de pages Web, et d'applications Windows. Les deux premiers forment ASP.NET, là aussi une référence à l'ancien langage de programmation Web. Les pages internet ayant pour extension .aspx sont généralement des pages Web écrites en .NET, tandis que les pages écrites en ASP se terminent généralement en .asp.
Infrastructure .NET
Structure d'une application L'unité de base d'une application est appelée un assemblage (). Il s'agit d'un ensemble de code, de ressources et de métadonnées. Un assemblage est toujours accompagné par un manifeste () qui décrit ce qu'il contient : nom, version, types de données exposées, autres assemblages utilisés, instructions de sécurité. Un assemblage est composé d'un ou plusieurs modules qui contiennent le code.
Compilation et exécution d'une application .NET Tout comme en Java, quand une application .NET est compilée, elle n'est pas compilée en code binaire machine, mais dans un code binaire intermédiaire CIL. Une application consiste donc en un ensemble d'assemblages contenus dans un ou plusieurs fichiers exécutables ou fichiers DLL en (CIL). Au moins un de ces assemblages doit contenir un point d'entrée afin de démarrer l'application.
Quand l'exécution d'un programme démarre, le premier assemblage est chargé en mémoire. Le CLR commence par examiner les permissions demandées par cet assemblage et les compare à la politique de sécurité () du système. Puis, si l'assemblage est autorisé à s'exécuter, un processus est créé pour exécuter l'application. Le premier morceau de code nécessaire à l'exécution est chargé en mémoire et est compilé en code binaire natif par le compilateur juste à temps (, JIT). Une fois compilé, le code est exécuté et stocké en mémoire sous forme de code natif, garantissant ainsi que chaque portion de code n'est compilée qu'une seule fois lors de l'exécution de l'application.
Versions Microsoft a commencé le développement du .NET Framework à la fin des années 1990 sous le nom de (NGWS ou « Prochaine génération de services Windows »). La première version bêta du framework (.Net 1.0) est disponible à la fin de l'an 2000.
+Versions du framework .NETVersionCLRSortieLivré avecVisual StudioPréinstallé avec WindowsComprendClientServeur1.01.0 13 février 2002 .NET 2002 NC1.11.1 24 avril 2003.NET 200320032.02.0 7 novembre 200520052003 R23.0 6 novembre 2006Vista2.03.53.5 19 novembre 200720083.0 SP1 (2.0 SP1)3.5.1 4 février 200820083.5 SP1 11 août 20082008 SP1 3.0 SP2 (2.0 SP2)3.5.1 SP1 22 juillet 200972008 R2 4 4.0 4.0 12 avril 20102010 NC(mise à jour sur place)4.5 15 août 2012 2012820124.5.1 17 octobre 2013 20138.12012 R24.5.2 5 mai 2014 4.6201510 v15074.6.12015 U110 v15114.6.22017 v15.010 v160720164.72017 v15.310 v17034.7.12017 v15.510 v1709v17094.7.22017 v15.810 v1803–1809v1803–1809, 20194.82019 v16.310 v1903–22H2, 11 v21H2v1903–20H2, 20224.8.12022 v17.311 v22H2
Pour connaître quelle(s) version(s) du Framework est(sont) installée(s) sur un poste Windows, il suffit de consulter le répertoire C:\WINDOWS\Microsoft.NET\Framework (chaque sous-répertoire non vide correspondant à une version présente) ou le panneau de configuration Ajouter ou supprimer des programmes. .NET Framework 1.0 Première version du .Net Framework. Elle est disponible depuis le et fonctionne sur les plates-formes Windows : Windows 98, NT 4.0, 2000, XP.
.NET Framework 1.1 C'est la première évolution majeure du .NET Framework. Elle est disponible sous la forme d'un composant redistribuable ou d'un kit de développement et a été publiée le . C'est aussi une partie de la deuxième version de Microsoft Visual Studio .NET (connue sous le nom de Visual Studio .NET 2003). C'est la première version du .NET Framework à faire partie d'un système d'exploitation Windows Server 2003.
Changements depuis la version 1.0 Support intégré pour les contrôles ASP.NET ; il fallait anciennement installer un composant supplémentaire Modification de la sécurité : Autorise les assemblages Windows Forms à s'exécuter dans un environnement de confiance modéré à partir d'Internet et ajoute la notion de Code Acces Security dans les applications ASP.NET Support pour ODBC et les bases de données Oracle ; il fallait anciennement installer un composant supplémentaire .NET Compact Framework, une version du .NET Framework compatible avec Windows CE Support pour IPv6 Divers changements dans les API
.NET Framework 2.0 Disponible avec Visual Studio 2005, Microsoft SQL Server 2005 et BizTalk Server 2006, le .NET Framework 2.0 en version redistribuable est disponible gratuitement sur le site de Microsoft et a été publié le . Il est aussi inclus sous forme d'option gratuite à Windows Server 2003 R2.
Le kit de développement (SDK) peut être téléchargé gratuitement sur le site de Microsoft ; il est inclus avec Visual Studio 2005 et Microsoft SQL Server 2005.
C'est la dernière version compatible avec Windows 2000, Windows 98 et Windows ME.
Changement depuis la version 1.1 Ajout de diverses API Support 64-bit pour les plates-formes matérielles x64 et IA-64 Support des Generics inclus dans le CLR .NET Nouveaux Web Controls pour ASP.NET Nouveaux contrôles de gestion de données Nouvelles possibilités de personnalisation des fonctionnalités ASP.NET telles que les thèmes et web parts .NET Micro Framework - une version du .NET Framework lié au projet Smart Personal Object Technology (SPOT)
.NET Framework 3.0 .NET Framework 3.0, anciennement WinFX ., inclut des nouvelles API de code managé. Elles font partie intégrante des systèmes d'exploitation Windows Vista et de Windows Server 2008. Ces API sont aussi disponibles en téléchargement pour Windows XP SP2 et Windows Server 2003. Il n'y a pas de changements majeurs inclus avec cette version. Le .NET Framework 3.0 utilise le Common Language Runtime de la version 2.0 du Framework.. Contrairement aux autres évolutions du Framework, il n'y a pas eu d'équivalent à cette version pour le .NET Compact Framework.
Le .NET Framework 3.0 est constitué de quatre parties principales : Windows Presentation Foundation (WPF), anciennement Avalon ; Il s'agit d'un nouveau sous-système d'interface utilisateur basé sur XML et le dessin vectoriel. WPF utilise les cartes graphiques 3D et Direct3D WPF SDK sur le site de l'éditeur. ; Windows Communication Foundation (WCF), anciennement Indigo ; WCF est un système de messagerie orienté services qui permet aux programmes de communiquer localement ou à distance (d'une façon analogue aux services web) ; Windows Workflow Foundation (WF) permet la construction de transactions ou tâches automatisées à l'aide de workflows ; Windows CardSpace, anciennement InfoCard est un composant logiciel destiné à mémoriser de façon sécurisée les informations numériques relatives à une personne et fournit une interface unifiée pour le choix des identités pour une transaction particulière.
Le nouvel environnement inclut également les autres éléments du Framework .NET : le Common Language Runtime ; ASP.NET ; WinForms ; ADO.NET.
.NET Framework 3.5