8 votes

Les versions de .NET sont-elles rétrocompatibles ?

Au fil des années, diverses versions de .NET ont été déployées sur les machines de mes clients via WSUS. Maintenant, il semble que sur de nombreuses machines, ces installations se soient détériorées les unes les autres, et que certaines mises à jour de sécurité .NET échouent.

J'ai vérifié que je pouvais exécuter l'outil de nettoyage .NET pour me débarrasser de toutes les installations .NET sur un client, puis déployer .NET 3.5 via WSUS. Cela semble avoir résolu les problèmes que j'ai rencontrés sur la machine sur laquelle je l'ai essayé.

Donc la question est : si j'ai .NET 3.5, y a-t-il une raison d'avoir également des versions précédentes installées ?

14voto

jottos Points 121

Le terme de compatibilité ascendante est un mauvais terme à utiliser. .NET 1.0, 1.1 et 2.0 sont leurs propres frameworks qui n'ont aucune compatibilité entre eux. .NET 3.0 et 3.5 sont des super ensembles du framework 2.0, utilisant le framework de base .NET 2.0, avec des dll supplémentaires pour fournir des fonctionnalités supplémentaires (3.0 incluait des choses comme WCF et WWF, 3.5 avait des chose comme LINQ). En termes d'exigences d'application:

  • Les applications 1.0 nécessitent l'installation de .NET 1.0.
  • Les applications 1.1 nécessitent l'installation de .NET 1.1.
  • Les applications 2.0 nécessitent l'installation de .NET 2.0, 3.0 ou 3.5.
  • Les applications 3.0 nécessitent l'installation de .NET 3.0 ou 3.5.
  • Les applications 3.5 nécessitent l'installation de .NET 3.5.

Je suis assez certain que .NET 4.0 suit le même modèle que 2.0 - 3.5 (base 2.0 avec des dll de fonctionnalités supplémentaires). Donc, l'installation de .NET 3.5 vous couvrira pour les applications .NET 2.0 - 3.5. Vous devrez installer .NET 1.1 si vous exécutez des applications 1.1 (pareil pour les applications 1.0).

2voto

Warren Blanchet Points 881

.NET est rétrocompatible dans une certaine mesure, mais vous devez comparer entre les versions du framework. Ce qu'ils affirment, c'est qu'il est compatible côte à côte, ce qui est le problème auquel vous êtes confronté. Il est certainement justifié d'avoir d'autres versions installées. Une application peut être écrite pour cibler une version spécifique et si cette version n'est pas présente sur une machine, alors l'application échouera.

-1voto

TomTom Points 50635

Non, .net n'est pas rétrocompatible. MS se réserve le droit d'apporter des modifications. 2.0 à 3.5 sont à ma connaissance, mais c'est plutôt un "côté chanceux". Le concept est d'avoir tous les frameworks nécessaires installés, et une application cible le framework avec lequel elle a été compilée - cela permet à MS de nettoyer les nouvelles versions et d'introduire des changements non compatibles.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X