¿Las versiones .NET son compatibles con versiones anteriores?


8

A lo largo de los años, se han implementado varias versiones de .NET en mis máquinas cliente a través de WSUS. Ahora parece que en muchas máquinas estas instalaciones se han conectado entre sí, y ciertas actualizaciones de seguridad de .NET están fallando.

Verifiqué que puedo ejecutar la herramienta de limpieza .NET para deshacerme de todas las instalaciones .NET en un cliente, y luego puedo sacar .NET 3.5 a través de WSUS. Esto parece haber resuelto los problemas que tengo en la máquina en la que lo probé.

Entonces la pregunta es: si tengo .NET 3.5, ¿hay alguna razón para tener también instaladas versiones anteriores?

Respuestas:


14

Compatible con versiones anteriores es un mal término para usar. .NET 1.0, 1.1 y 2.0 son sus propios marcos que no tienen compatibilidad entre sí. .NET 3.0 y 3.5 son superconjuntos del marco 2.0, utilizando el marco base .NET 2.0, con dll adicionales para proporcionar características adicionales (3.0 incluía cosas como WCF y WWF, 3.5 tenía cosas como LINQ). En términos de requisitos de aplicación:

  • 1.0 aplicaciones requiere .NET 1.0 para ser instalado.
  • 1.1 aplicaciones requiere .NET 1.1 para ser instalado.
  • Las aplicaciones 2.0 requieren la instalación de .NET 2.0, 3.0 o 3.5.
  • Las aplicaciones 3.0 requieren que se instale .NET 3.0 o 3.5.
  • 3.5 aplicaciones requiere .NET 3.5 para ser instalado.

Estoy bastante seguro de que .NET 4.0 sigue el mismo modelo que 2.0 - 3.5 (base 2.0 con dlls de funciones adicionales). Por lo tanto, la instalación de .NET 3.5 lo cubrirá para aplicaciones .NET 2.0 - 3.5. Tendrá que instalar .NET 1.1 si ejecuta cualquier aplicación 1.1 (lo mismo para las aplicaciones 1.0).


44
Estoy bastante seguro de que .net 4 es un CLR completamente nuevo que se ejecuta junto con cualquier versión anterior; no es solo un paquete de expansión como lo fue 3 / 3.5
— Michael Haren

@Michael - Todavía no he encontrado información definitiva, pero parece que tienes razón. Culpa mía.
— Evan M.

+1. Impresionante respuesta. No puedo decirte cuántas veces he tenido que explicar esto a nuestros ingenieros de soporte.
— joeqwerty

2
msdn.microsoft.com/en-us/library/bb822049.aspx es un artículo que confirma lo que dice anteriormente. Y sí, el 4.0 es independiente, no depende de otras versiones.
— Larry Smithmier

2

.NET es compatible con versiones anteriores hasta cierto punto, pero debe comparar entre versiones del marco. Lo que sí afirman es que es compatible de lado a lado, que es el problema que enfrenta. Definitivamente hay una razón para tener otras versiones instaladas. Se puede escribir una aplicación para apuntar a una versión específica y si esta versión no está presente en una máquina, la aplicación fallará.


Eso es lo que pensé. Supongo que tendré que hacer esto máquina por máquina.
— Boden

@Boden: generalmente puede cambiar la aplicación para apuntar a un marco diferente, pero requiere modificar un archivo app.config o un archivo web.config para la aplicación. Sin embargo, recomendaría encarecidamente esto, ya que podría introducir una gran cantidad de problemas para la aplicación y, por lo tanto, romperla por completo.
— Squillman

Probablemente obtendrá una cobertura realmente buena al implementar 3.5 ahora y 4.0 cuando se lance en abril. 3.5 tiene el mismo CLR que 2, por lo que no necesita hacer 2 y 3.5. Muy pocas aplicaciones ejecutan 1.1 más, por lo que puede dejarlo apagado e incluirlo solo en el raro caso de que sea necesario.
— Michael Haren

-1

No, .net no es compatible con versiones anteriores. MS se reserva el derecho de hacer cambios. 2.0 u a 3.5 son IIRC, pero eso es más un "lado afortunado". El objetivo es tener todos los marcos instalados que son necesarios, y una aplicación se dirige al marco con el que se compiló; esto permite a MS limpiar nuevas versiones e introducir cambios no compatibles.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.