2010-07-15 15 views
5

OK, esta es una pregunta bastante amplia pero ... ¿Hay un gráfico que indique qué versión del framework ejecutará qué?.NET framework versions (o qué ejecuta qué?)

tanto, supongo que frena en dos preguntas

1 - ¿Son los marcos 100% compatible con versiones anteriores? He tenido un sitio web de Framework 2.0 ejecute 1.1 dlls, así que supongo que 2.0 ejecutará 1.1. ¿Esto funcionará para una aplicación de Windows? ¿Funcionará para todas las versiones?

2 - ¿Es un marco siempre compatible? Sé que el reverso de lo anterior no funcionará, pero ¿funcionará para cualquier conjunto de versiones?

Entonces, ¿qué tan importante es mantener las versiones en las máquinas de sus clientes sincronizadas con su versión de compilación?

¿Existe alguna mejor práctica en la comunidad .net sobre cómo hacer que su software funcione para la mayor cantidad de clientes sin forzar a usuarios no técnicos a descargar versiones más nuevas/diferentes del .NET Framework?

+0

Creo que hay demasiados cambios entre los marcos para que todo encaje en un solo gráfico. Puedes google ".NET rompiendo cambios" y encontrar documentación bastante buena sobre lo que ha cambiado entre versiones, pero nunca en una ubicación central. –

+0

En realidad, tengo mucha curiosidad sobre el sitio web 2.0 que ejecutó 1.1 DLL ... ¿no tenía dependencias en otras DLL, incluido System? Estoy bastante seguro de que eso no es posible ... –

+0

Hace mucho tiempo, cuando actualizamos nuestro sitio al framework 2.0, no recompilamos la gran mayoría de nuestros dlls. Los únicos que hicimos tenían cambios de última hora en ellos (Ahora sé un poco confusamente que existe una diferencia entre los marcos de ASP.Net y las versiones de .Net framework, así que no voy a aclarar las diferencias para que este próximo comentario pueda ser técnicamente erróneo) Cuando actualizamos el sitio web a 3.5 .Net Framework tampoco tuvimos que hacer ningún cambio. – saunderl

Respuesta

4

Como regla general, si .NET versión X se instala junto con .NET versión Y, entonces .NET versión X no es compatible (hacia atrás o hacia delante) con .NET versión Y. Esta es una regla He estado usando durante bastante tiempo (desde que salió .NET 2.0). Probablemente sea demasiado seguro para aplicaciones a pequeña escala, pero es mejor estar seguro que lamentar.

Éstos son algunos ejemplos concretos:

  • .NET 4.0 no se ejecutará 3.x .NET o solicitudes anteriores correctamente
  • .NET 3.5 se ejecutará aplicaciones .NET 3.0 & .NET 2.0, pero no .NET 1.1
  • .NET 3.0 se ejecutará aplicaciones .NET 2.0, pero no .NET 1.1
  • .NET 2.0 no se ejecutará .NET 1,1

  • .NET 4.0 instala de lado a lado con .NET 3,5/3,0/2,0 y con .NET 1.1

  • .NET 3.5, 3.0 y 2.0 no instalar lado a lado entre sí
  • . NET 3.5/3.0/2.0 instalaciones lado a lado con .NET 1.1

Espero que esto ayude.

0

No he visto un gráfico en ninguna parte, pero en general, no se preocupe por la compatibilidad con versiones anteriores. Lo único importante es asegurarse de que sus clientes tengan el marco mínimo instalado.

Y no, ninguna de las versiones de .NET es compatible con versiones anteriores.

1

OMI, los "principales" versiones hasta la fecha son:

  • 1,0
  • 1,1
  • 2,0, 3,0, 3,5 (Creo que estas se dividieron a cabo debido a las grandes extensiones de C#)
  • 4.0

Los marcos en líneas diferentes se instalan uno al lado del otro y no se corren entre sí; aquellos en la misma línea se pueden usar indistintamente siempre que la máquina host tenga al menos la versión del ensamblado instalado.

Todas las versiones de .NET actualmente vienen con Windows; ahora se consideran parte del sistema operativo y siguen su ciclo de vida. (Consulte http://support.microsoft.com/lifecycle/search/?alpha=.NET+Framework&sort=PN). Si sus usuarios mantuvieron su computadora actualizada, no debería tener problemas para usar la última versión de .NET Framework.

Asegúrese de que, para sus archivos de configuración posteriores a la 1.0, que incluyen el elemento <supportedRuntime>: http://msdn.microsoft.com/en-us/library/w4atty68.aspx

Como Jim Schubert menciona en su comentario, su código C# puede compilar en versiones posteriores, pero hay algunos cambios de ruptura .

+0

No hay extensiones de C# en 3.5. –

Cuestiones relacionadas