Diferencias entre Microsoft .NET 4.0 full Framework y Client Profile

360

El instalador completo de Microsoft .NET Framework 4.0 (32 y 64 bits) tiene 48,1 MB y el instalador de Perfil de cliente tiene 41,0 MB. Los archivos de instalación extraídos son 237 MB y 194 MB respectivamente, y una vez instalados, son 537 MB y 427 MB.

Esta es una diferencia de 110 MB. ¿Qué diferencia hay entre los dos paquetes?

¿Cuándo es preferible instalar el perfil del cliente en lugar del .NET Framework completo?

Haga clic en Aceptar
fuente
52
¿Una diferencia de 7.1 MB? Los desarrolladores se frustran con los errores de compilación porque Microsoft pensó que valía la pena dividirlo en 7,1 MB. Increíble.
JYelton
13
A 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two? Eso es solo el instalador . Cuando se desempaqueta, es 43MB más. Una vez que está instalado, es 110MB más. Puede olvidarse de los sistemas integrados o de bajo perfil; El costo y la arquitectura no son las únicas razones por las que Rπ no es compatible con Windows.
Synetech

Respuestas:

365

Lo nuevo en .NET Framework 4 Client Profile RTM explica muchas de las diferencias:

¿Cuándo usar NET4 Client Profile y cuándo usar NET4 Full Framework?
NET4 Client Profile:
siempre apunte a NET4 Client Profile para todas las aplicaciones de escritorio de su cliente (incluidas las aplicaciones Windows Forms y WPF).

NET4 Full framework:
Target NET4 Full solo si las características o ensamblajes que necesita su aplicación no están incluidos en el Perfil del cliente. Esto incluye:

  • Si está creando aplicaciones de servidor. Tales como:
    o aplicaciones ASP.Net
    o servicios web basados ​​en ASMX del lado del servidor
  • Si usa escenarios de clientes heredados. Tales como:
    o Use System.Data.OracleClient.dll que está en desuso en NET4 y no está incluido en el Perfil del cliente.
    o Utilice Windows Workflow Foundation 3.0 o 3.5 heredados (WF3.0, WF3.5)
  • Si se dirige a escenarios de desarrollador y necesita herramientas como MSBuild o necesita acceso a ensamblados de diseño como System.Design.dll

Sin embargo, como se indica en MSDN , esto no es relevante para> = 4.5:

A partir de .NET Framework 4.5, el perfil del cliente se ha descontinuado y solo está disponible el paquete redistribuible completo. Las optimizaciones proporcionadas por .NET Framework 4.5, como un tamaño de descarga más pequeño y una implementación más rápida, han eliminado la necesidad de un paquete de implementación por separado. El único redistribuible simplifica el proceso de instalación y simplifica las opciones de implementación de su aplicación.

Cameron MacFarland
fuente
12
Esta entrada de blog también habla sobre los diferentes tamaños de archivo de marco: hanselman.com/blog/…
M. Dudley
56

Debe implementar "Perfil de cliente" en lugar de "Marco completo" dentro de una corporación, principalmente en un solo caso: desea negar explícitamente que algunas funciones .NET se estén ejecutando en las computadoras cliente. El único caso real es negar ASP.NET en las máquinas cliente de la corporación, por ejemplo, por razones de seguridad o la política corporativa existente.

El ahorro de menos de 8 MB en la computadora cliente no puede ser una razón seria de la implementación del "Perfil del Cliente" en una corporación. El riesgo de la necesidad de la implementación del "Marco completo" más adelante en la corporación es mayor que los costos de 8 MB por cliente.

Oleg
fuente
El enlace en la respuesta de Cameron especifica un montón de razones.
Ade Miller
13
@Ade. Porque estamos hablando de las mismas cosas. Las diferencias entre dos paquetes son bien conocidas. Solo quiero decir claramente, que la única razón seria de uso del "Perfil del Cliente" es el requisito de denegar ASP.NET en las computadoras del cliente. Todos los demás detalles técnicos no son realmente importantes.
Oleg
1
Saving of less then 8 MB… Eso es solo el instalador; es 110MB más una vez instalado.
Synetech,
2
110Mb-8Mb en esta era de unidades de 1Tb, etc. ¿a quién le importa?
Liam
1
@Oleg, si su respuesta es verdadera, ¿por qué .NET 4.5 en adelante ya no es compatible con el perfil del cliente?
Pacerier
48

Una lista de ensamblajes está disponible en Ensamblajes en .NET Framework Client Profile en MSDN (la lista es demasiado larga para incluirla aquí).

Si está más interesado en las características, .NET Framework Client Profile en MSDN enumera lo siguiente como incluido:

  • Common Language Runtime (CLR)
  • ClickOnce
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Marco de la entidad
  • Windows Workflow Foundation
  • Habla
  • Soporte XSLT
  • LINQ to SQL
  • Bibliotecas de diseño en tiempo de ejecución para Entity Framework y WCF Data Services
  • Marco de extensibilidad gestionada (MEF)
  • Tipos dinámicos
  • Funciones de programación paralela, como Biblioteca paralela de tareas (TPL), LINQ paralelo (PLINQ) y Estructuras de datos de coordinación (CDS)
  • Depuración de aplicaciones cliente

Y lo siguiente como no incluido:

  • ASP.NET
  • Funcionalidad avanzada de Windows Communication Foundation (WCF)
  • Proveedor de datos de .NET Framework para Oracle
  • MSBuild para compilar
Richard Szalay
fuente
20

Cameron MacFarland lo clavó.

Me gustaría agregar que el perfil del cliente .NET 4.0 se incluirá en Windows Update y futuras versiones de Windows. Espere que la mayoría de las computadoras tengan el perfil del cliente, no el perfil completo. No subestimes ese hecho si estás haciendo ventas de empresa a consumidor (B2C).

Simon P.
fuente