Les versions de .NET

Comprendre les versions des différents composants

14/01/2012 202 lectures 0 commentaire 5/5 (1 vote)

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.

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

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)
Version 2008 - publié en 2007
Version 2010 - publié en 2010

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

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:

En 2002 sort la version 1.0 du framework .NET avec Visual Studio 2002, le CLR 1.0 et le compilateur C# 1.0
En 2003 sort la version 1.1 du framework .NET avec Visual Studio 2003, le CLR 1.1 et le compilateur C# 1.2
En 2005 sort la version 2.0 du framework .NET avec Visual Studio 2005, le CLR 2.0 et le compilateur C# 2.0
En 2006 sort la version 3.0 du framework .NET avec des extensions pour Visual Studio 2005. Le CLR et C# ne changent pas.
En 2007 sort la version 3.5 du framework .NET avec Visual Studio 2008 et le compilateur C# 3.0. Le CLR bénéficie d'un service pack.
En 2010 sort la version 4.0 du framework .NET avec Visual Studio 2010, le CLR 4.0 et le compilateur C# 4.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.

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

Voter :

0 commentaires

Ajouter un commentaire