Les versions de .NET

Comprendre les versions des différents composants

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

La structure interne ainsi que le design d'AreaProg ont récemment été modifiés.
Suite à cela, le format de certains articles a été perturbé. Le problème est connu et en cours de résolution. Merci de votre compréhension.

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

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

Philippe Vlerick

Envoyer un mail Site web LinkedIn Twitter Facebook Rédacteur

150 points

Avatar

Sébastien Sougnez

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

25754 points