Ai-je besoin de toutes les versions de Microsoft .NET Framework?

22

J'ai 4 versions de Microsoft .NET Framework:

  • 1.1
  • 2.0 Service Pack 2
  • 3.0 Service Pack 2
  • 3.5 SP1

Dois-je tous les avoir?

Joy Seacat
la source
J'espère que les réponses peuvent s'étendre sur l' ordre d'installation idéal (probablement la version la plus basse).
Synetech
Ajout d'une réponse ... désinstallez-les tous; installez .NET 4 et tout ira bien.
Aaron McIver
1
Je sais que cette question est ancienne, mais une recherche Google que je viens de faire m'a amenée ici. Lisez mes commentaires sur la réponse d'Aaron McIver pour la raison pour laquelle la «solution» d'Aaron ne fonctionnera pas toujours.
pepoluan

Réponses:

12

Il existe 4 versions distinctes du framework .net.

  • .NET 1
  • .NET 1.1
  • .NET 2
  • .NET 4

Tous ces éléments peuvent être installés et désinstallés indépendamment. C'est là que ça commence à devenir intéressant! .NET 3 a été introduit (avec un service pack pour .NET 2) et constituait un ensemble supplémentaire de bibliothèques. .NET 3.5 a suivi cette tendance (avec un deuxième service pack pour .NET 2 et un service pack pour .NET 3) et a de nouveau exigé .NET 2 car il vient de l'étendre.

La dernière version est entièrement autonome et ne nécessite pas de versions précédentes. Il est principalement rétrocompatible, il est donc possible de faire fonctionner vos anciennes applications.

Que vous en ayez besoin ou non dépend de ce que vous exécutez. La plupart des applications sont encore conçues pour .NET 2 à 3.5, donc l'installation de 3.5 vous couvrira pour cela. Je recommanderais d'installer 4 comme une vision prospective, c'est ce que Microsoft veut que les gens utilisent.

.NET 4.5 (et 4.5.1, 4.5.2) est une mise à jour sur place de .NET 4.

Matthew Steeples
la source
2
-1 Si vous avez .NET 4, vous pouvez exécuter n'importe quelle application construite avec .NET 1.1+
Aaron McIver
7
@Aaron ce n'est pas une règle
Shekhar
7

L'installation de .Net Framework 3.5 installe également toutes les versions précédentes à partir de 2.0. La version 1.1 est une exception et doit être installée séparément.

Étant donné que vous semblez avoir besoin de la version 3.5 SP1, cela installera également toutes les versions .Net à partir de 2.0 et plus. Vous n'avez donc vraiment pas le choix, et tenter de désinstaller une version peut entraîner des problèmes avec les autres versions qui s'appuient sur elle.

Comme il reste très peu de produits qui nécessitent .Net 1.1, on peut attendre son installation jusqu'à ce qu'il y en ait un réel besoin. Comme il n'est pas installé automatiquement et s'il est déjà installé, cela signifie qu'il est requis par certains produits que vous avez installés (sauf si vous êtes sous XP, où il est installé par défaut).

Vous n'avez pas mentionné .Net 4.0, mais avec cette version, Microsoft a essayé de réduire la taille du logiciel en n'incluant pas toutes les versions précédentes. .Net 4.0 est donc plus petit et est censé être rétrocompatible avec toutes les versions précédentes à partir de 1.1 et au-delà. Donc, en théorie, c'est le seul dont vous avez besoin.

harrymc
la source
1
Vous vous trompez sur la création de .NET 4 au-dessus de 2. J'ai posté une réponse plus détaillée ci-dessous. Fondamentalement, la version 4 est la dernière version autonome.
Matthew Steeples
@Matthew Steeples: J'ai corrigé ma réponse pour ne pas inclure la v4. Je ne suis pas sûr que vous ayez raison en laissant entendre que 2.0 n'est pas installé en installant 3.5 SP1.
harrymc
-1 Si vous avez .NET 4, vous pouvez exécuter n'importe quelle application construite avec .NET 1.1+
Aaron McIver
2
@Aaron: Pourquoi voter contre? Je ne dis rien sur la v4, car je n'en ai aucune expérience. Voir la réponse de Matthew Steeples pour cela. Voter trop vite n'est pas une bonne nétiquette.
harrymc
2
@Aaron: Citant à partir de votre lien: " Cependant, dans la pratique, cette compatibilité peut être rompue par des changements apparemment sans conséquence dans le .NET Framework et des changements dans les techniques de programmation ". Dans tous les cas, la même phrase de compatibilité devait être trouvée telle quelle dans les notes de publication de toutes les versions de .Net depuis 2.0, et ce n'était jamais totalement vrai. Ce n'est qu'un battage publicitaire de MS.
harrymc
6

Différentes applications nécessitent des cadres différents et je suppose qu'il n'y a pas de compatibilité descendante, vous pourriez donc en avoir besoin toutes, même si vous n'avez pas besoin de les télécharger tout de suite.
Lorsque vous installez une application qui nécessite une version spécifique du framework, vous pouvez les télécharger. (Ils auront principalement besoin de 2, 3 ou 3,5)

Shekhar
la source
-1 Si vous avez .NET 4, vous pouvez exécuter n'importe quelle application construite avec .NET 1.1+
Aaron McIver
3
@Aaron pas dans tous les cas
Shekhar
1
@Aaron Shark a raison.
Camilo Martin
@CamiloMartin Les FW consommés par le consommateur sont rétrocompatibles, MS le déclare eux-mêmes . Ce n'est pas une tarte dans le rêve céleste que je fais.
Aaron McIver
2

Ce n'est pas vrai que Net4 est tout ce dont vous avez besoin. J'ai supprimé toutes les versions, puis installé UNIQUEMENT la v4. La première application que j'ai essayé d'exécuter (Powermate) a dit qu'elle ne pouvait pas trouver le .NET Framework requis. J'ai donc installé Net v2 SP2 et la mise à jour SP2 et l'application a très bien fonctionné.

Ken Roberts
la source
1
Ken, Microsoft n'est pas très proche de .NET. Le .NET Framework 4 est rétrocompatible avec les applications qui ont été construites avec les versions .NET Framework 1.1, 2.0, 3.0 et 3.5. En d'autres termes, les applications et les composants créés avec les versions précédentes du .NET Framework fonctionneront sur le .NET Framework 4. Cette déclaration n'est que du ouï-dire.
Aaron McIver
-3

Si vous avez installé .NET 4, vous pouvez exécuter n'importe quelle application .NET construite avec n'importe quel framework à partir de 1.1 .

Le .NET Framework 4 est rétrocompatible avec les applications qui ont été construites avec les versions .NET Framework 1.1, 2.0, 3.0 et 3.5. En d'autres termes, les applications et composants créés avec les versions précédentes du .NET Framework fonctionneront sur le .NET Framework 4.

Aaron McIver
la source
@Shark C'est MS couvrant leur peau ... l'OP devrait bien aller avec une installation de .NET 4.
Aaron McIver
3
Je suppose que vous n'avez pas lu le paragraphe suivant ... Cependant, dans la pratique, cette compatibilité peut être rompue par des changements apparemment sans conséquence dans le .NET Framework et des changements dans les techniques de programmation
Shekhar
1
@ Shark C'est MS qui couvre leur peau. Ils ne peuvent pas garantir ce qu'un développeur donné a fait pour un gain de performances ... en particulier autour du filetage. Pour couvrir leur peau, ils doivent propager cette information. VS2010 + .NET 4 permet de cibler plusieurs plates-formes, c'est-à-dire ... 3.5, 2.0 etc ... Si je crée une application ciblant la plate-forme .NET 2 pour une raison quelconque, je n'expédie certainement pas .NET 2 redistribuable ... Je suis gratuite .NET 4.
Aaron McIver
4
Je sais que cette réponse est ancienne, mais la page liée indique explicitement: Par défaut, une application s'exécute sur la version du .NET Framework pour laquelle elle a été conçue. Si cette version n'est pas présente et que le fichier de configuration d'application ne définit pas les versions prises en charge, une erreur d'initialisation .NET Framework peut se produire. Dans ce cas, la tentative d'exécution de l'application échouera.
pepoluan
2
-1. D'après mon expérience, ce n'est tout simplement pas le cas.
andyb