¿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.