2011-01-13 13 views
9

Tengo código/apoyo una aplicación basada en .NET Framework que siempre se ha ejecutado en .NET 2. Este año estamos actualizando la aplicación para usar .NET 3.5 (¿o 4?).¿Cómo es que el instalador fuera de línea .NET Framework 3.5 tiene 200 MB más que el instalador .NET 4 sin conexión?

Al prepararnos para este cambio, notamos que el Instalador sin conexión (requerido para nuestra base de clientes) para .NET 3.5 es 200+ MB más grande que el instalador .NET 4 sin conexión.

Aquí están mis preguntas.

¿Por qué el instalador de dotnet 3.5 es mucho más grande que el instalador de 4 fuera de línea?

¿Podemos TARGET .NET 3.5 pero distribuimos .NET 4. En otras palabras, ¿es compatible .NET 4 con versiones anteriores? ¿Asumiendo que .NET 4 era la única aplicación de .NET instalada podría apuntar a frameworks anteriores?

SI nuestra aplicación está compilada para la CPU x86 (en lugar de cualquier CPU), ¿todavía tiene que distribuir el perfil de cliente x64/x86 o podemos simplemente distribuir el perfil de cliente x86? En otras palabras, ¿podemos distribuir el perfil del cliente x86 aunque esté instalado en máquinas x64 si nuestra aplicación está compilada para la CPU objetivo x86? ¿Algún riesgo o problema para hacer esto?

El problema es que si actualizamos nuestra aplicación a destino .NET 4, hay una gran cantidad de servidores de aplicaciones que también tenemos que actualizar, lo que afecta a un número de otras aplicaciones. ¿Alguna idea?

Seth

+1

buena pregunta, me preguntaba lo mismo :) – Tom

Respuesta

3

.NET 3.5 es totalmente compatible con .NET 3.0 y .NET 2.0 - lo tanto, incluye todas esas dos versiones anteriores también. .NET 4.0, por otro lado, comienza desde cero y puede descartar el código obsoleto/innecesario. Esto también significa que .NET 4.0 no necesariamente puede ejecutar el código de .NET 3.5 sin cambios: hay otro SO answer on some of the breaking changes there.

+0

Esto no es exacto, no hay versiones separadas de los conjuntos. Todos los ensamblajes base de 2.0 a 3.5 SP1 tienen la versión de ensamblaje 2.0.0.0 –

+1

@Hans, de hecho. Es por eso que dije que 3.5 incluye todas las versiones anteriores (la versión del framework tiene poco que ver con las versiones de ensamblaje) – bdonlan

8

Es debido a los requisitos previos. El instalador .NET 4.0 requiere que el equipo de destino para ser actualizado para

  • XP SP3
  • Vista SP1
  • Server 2003 SP2
  • Server 2008 o Win7

el instalador 3.5 SP1 es mucho más indulgente, incluso se puede ejecutar en la versión original de XP. Para que funcione, debe incluir actualizaciones de muchos de los principales componentes de Windows. Una parte significativa de ese instalador de 231 MB no son en realidad componentes .NET.

También es notable que en .NET 4.0, la diferencia entre el perfil del cliente y la versión completa ha desaparecido en gran medida. La versión completa es solo un 15% más grande, no tiene mucho sentido enfocarse en el perfil del cliente.

Cuestiones relacionadas