Sommaire

Environnement d’exécution

Les applications conçues pour fonctionner avec le framework .NET ne communiquent pratiquement jamais directement avec le système d’exploitation. On dit que leur code est de type managé (managed) car c’est le framework .NET qui va gérer leur exécution au sein de son Common Language Runtime (CLR) dont le cœur se trouve dans la DLL mscoree.dll. Managé Managed

Même si les fichiers générés par les compilateurs pour .NET ont les extensions .EXE et DLL, le code contenu dans ces fichiers n’est pas du langage directement exécutable par le microprocesseur. C’est un code intermédiaire appelé Microsoft Intermediate Language (MSIL) totalement indépendant du langage de développement d’origine. Lorsqu’on double clique l’icône d’une application .NET, l’exécuteur lit l’en-tête du fichier, qui l’informe du mode de fonctionnement managé, et adapte le type de lancement en conséquence.

Pendant l’exécution, le code MSIL est compilé "à la volée" en code machine par un Just In Time Compiler (ou JIT Compiler). Just In Time Compiler

Ce traitement supplémentaire par rapport à l’exécution d’une application "unmanaged", c’est-à-dire contenant directement du code machine, est la plupart du temps rendu imperceptible par les performances des ordinateurs ...