Les versions de .NET

Comprendre les versions des différents composants

14/01/2012 2 178 lectures 5/5 (1 vote) Philippe Vlerick Sébastien Sougnez

AreaProg recherche des rédacteurs. Plus d'informations

Introduction

Cet article a pour but de clarifier les versions des différents composants qui forment ce qu'on appelle .NET. Bien souvent, il y a une confusion entre les versions du framework, de Visual Studio, du Common Language Runtime (CLR) et de C# qui sont tous versionnés indépendement les uns des autres.

Le framework .NET

Le framework tel quel comprend le runtime, les librairies et les compilateurs.

  • Version 1.0 - publié en 2002
  • Version 1.1 - publié en 2003
  • Version 2.0 - publié en 2005
  • Version 3.0 - publié en 2006
  • Version 3.5 - publié en 2007
  • Version 4.0 - publié en 2010
  • Version 4.5 - publié en 2012

Visual Studio

Visual Studio est l'IDE de Microsoft, celui que vous utilisez très probablement. Il se décline en plusieurs versions, souvent publiées au même moment qu'une nouvelle version du framework.

  • Version 2002 - publié en 2002
  • Version 2003 - publié en 2003
  • Version 2005 - publié en 2005 (extensions publiées en 2006 pour supporter les ajouts de la version 3.0 du framework - WCF, WF, WPF et CardSpace)
  • Version 2008 - publié en 2007 (ajout du multi-targeting)
  • Version 2010 - publié en 2010
  • Version 2012 - publié en 2012

Le Common Language Runtime

Le CLR est l'implémentation de Microsoft du Common Language Infrastructure (CLI). C'est l'environnement d'exécution ou runtime.

  • Version 1.0 - publié en 2002 avec le framework .NET 1.0
  • Version 1.1 - publié en 2003 avec le framework .NET 1.1
  • Version 2.0 - publié en 2005 avec le framework .NET 2.0 (un service pack a été publié en 2008 avec la version 3.0 du framework)
  • Version 4.0 - publié en 2010 avec le framework .NET 4.0 - Important: on peut voir ici que les versions 3.0 et 3.5 du framework n'ont pas changé de runtime! (bien qu'il y ait eu un service pack)

C#

C# est un language de programmation. Ses versions sont indépendantes de celles du framework.

  • Version 1.0 - compilateur publié en 2002 avec le framework .NET 1.0
  • Version 1.2 - compilateur publié en 2003 avec le framework .NET 1.1
  • Version 2.0 - compilateur publié en 2005 avec le framework .NET 2.0
  • Version 3.0 - compilateur publié en 2007 avec le framework .NET 3.5
  • Version 4.0 - compilateur publié en 2010 avec le framework .NET 4.0
  • Version 5.0 - compilateur publié en 2012 avec le framework .NET 4.5

Important: on peut voir ici qu'il n'y a pas eu de nouvelle version de C# avec la version 3.0 du framework .NET. Aussi, quand on parle d'un compilateur C# (idem pour Visual Basic, F# etc...), on parle d'un outil qui transforme du code C# en code IL, comme expliqué dans cet article par Eric Lipert.

Récapitulatif

Tentons de dresser un tableau des différentes versions et de leur relations:

Année Framework .NET Visual Studio CLR C#
2002 1.0 2002 1.0 1.0
2003 1.1 2003 1.1 1.2
2005 2.0 2005 2.0 2.0
2006 3.0 Extensions - -
2007 3.5 2008 Service pack 3.0
2010 4.0 2010 4.0 4.0
2012 4.5 2012 - 5.0


On peut voir que Microsoft a fait un effort lors de la dernière version du framework pour aligner les numéros de versions. En effet, le CLR est passé de la version 2.0 à la version 4.0 directement, c'est aussi le cas de certains autres outils comme Entity Framework. Cependant, avec la version 4.5 du framework, on voit que les numéros de versions sont une fois de plus désynchronisés.

Conclusion

Bien que tout cela soit un peu confus à première vue, c'est en réalité assez simple. Il est essentiel d'être précis lorsque vous spécifiez un numéro de version. Trop souvent on n'entent parler de "3.0", est-ce le framework ou bien C#? Il est très fréquent, même dans des articles profesionnels, de lire "C# 3.5", ou encore de voir "C# 2008" ou "C# 2010" sur la couverture de livres dont le contenu est pourtant de très bonne qualité... J'espère qu'après la lecture de cet article les versions de .NET, du CLR et de C# n'ont plus de secret pour vous!

Références

L'excellent article sur les versions écrit par Jon Skeet
C# in Depth, second edition

Noter

Veuillez vous identifier ou vous inscrire pour donner une note à cet article.

Commentaires / Questions

Aucun commentaire.

Veuillez vous identifier ou vous inscrire pour réagir à cet article.

Avatar

Sébastien Sougnez

Envoyer un mail Site web Google+ Windows live messenger LinkedIn Twitter Facebook Administrateur

27812 points