Le framework est la base de la technologie . NET de microsoft. en effet, le problème des logiciels, c´est que généralement ils sont programmé pour un OS ( système d´exploitation) spécifique, car chacun a ses propres API ( instructions que l´on peut envoyer)
Pour résoudre ce problème, microsoft s´est inspiré de la technologie JAVA:
quelqu´un code un logiciel, et va le compiler en un langage intermédiaire ( MSIL: microsoft intermediate language) qui n´est pas spécifique à aucun OS. Ensuite, quand tu veux lancer le logiciel, celui ci va faire un appelle au framework ( indépendament de ton sytème d´exploitation) qui va le recompiler JIT ( just in time, c´est à dire quasiement en temps réel) pour ton système d´exploitation. Cette compilation est invisible, et le logiciel ne se modifie pas, seul la mémoire vive accueil ce logiciel recompilé, une fois fermé, il faudra de nouveau le recompiler
Le framework existe pour différentes machine et Os ce qui permet pour un même logiciel d´être portable sur un maximum de systèmes d´exploitation
Par contre, chaque framework est lui dépendant de ton système d´exploitation, tu ne peux pas faire tourner celui de windows sur linux par exemple.