Diferenças entre o Microsoft .NET 4.0 full Framework e o Client Profile

360

O instalador completo do Microsoft .NET Framework 4.0 (32 e 64 bits) tem 48,1 MB e o instalador de Perfil de Cliente é 41,0 MB. Os arquivos de instalação extraídos são 237 MB e 194 MB, respectivamente, e uma vez instalados, são 537 MB e 427 MB.

Esta é uma diferença de 110 MB. Que diferença existe entre os dois pacotes?

Quando é preferível instalar o perfil do cliente em vez do .NET Framework completo?

Clique OK
fonte
52
Uma diferença de 7,1 MB? Os desenvolvedores ficam frustrados com os erros de compilação porque a Microsoft achou que 7,1 MB valia a pena dividi-lo em dois? Impressionante.
JYelton
16
Discussão antiga, mas com o framework .NET 4.5, o perfil do cliente foi descontinuado
Bart s
13
A 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two? Esse é apenas o instalador . Quando desembalado, é 43MB a mais. Depois de instalado, é 110 MB a mais. Você pode esquecer os sistemas embarcados ou de baixo perfil; custo e arquitetura não são os únicos motivos pelos quais o Rπ não suporta o Windows.
Synetech

Respostas:

365

O que há de novo no .NET Framework 4 Client Profile RTM explica muitas das diferenças:

Quando usar o NET4 Client Profile e quando usar o NET4 Full Framework?
Perfil do cliente NET4:
sempre direcione o perfil do cliente NET4 para todos os aplicativos da área de trabalho do cliente (incluindo aplicativos Windows Forms e WPF).

Estrutura completa do NET4:
destino NET4 completo somente se os recursos ou montagens necessários ao seu aplicativo não estiverem incluídos no perfil do cliente. Isso inclui:

  • Se você estiver criando aplicativos de servidor. Como:
    aplicativos ASP.Net;
    serviços Web baseados em ASMX do servidor
  • Se você usar cenários de cliente herdados. Como:
    o Use System.Data.OracleClient.dll que foi descontinuado no NET4 e não está incluído no perfil do cliente.
    o Use o Windows Workflow Foundation 3.0 ou 3.5 herdado (WF3.0, WF3.5)
  • Se você tem como alvo cenários de desenvolvedor e precisa de ferramentas como o MSBuild ou precisa de acesso a assemblies de design como o System.Design.dll

No entanto, conforme declarado no MSDN , isso não é relevante para> = 4.5:

A partir do .NET Framework 4.5, o perfil do cliente foi descontinuado e apenas o pacote redistribuível completo está disponível. As otimizações fornecidas pelo .NET Framework 4.5, como tamanho menor de download e implantação mais rápida, eliminaram a necessidade de um pacote de implantação separado. O único redistribuível simplifica o processo de instalação e simplifica as opções de implantação do seu aplicativo.

Cameron MacFarland
fonte
12
Este blog também fala sobre os diferentes tamanhos de arquivos quadro: hanselman.com/blog/...
M. Dudley
56

Você deve implantar o "Perfil do cliente" em vez do "Full Framework" dentro de uma corporação, principalmente em apenas um caso: você deseja negar explicitamente que alguns recursos do .NET estejam em execução nos computadores clientes. O único caso real é negar o ASP.NET nas máquinas clientes da corporação, por exemplo, por motivos de segurança ou pela política corporativa existente.

Salvar menos de 8 MB no computador-cliente não pode ser um motivo sério de implantação do "Perfil do Cliente" em uma corporação. O risco da necessidade da implantação do "Full Framework" posteriormente na corporação é superior aos custos de 8 MB por cliente.

Oleg
fonte
O link na resposta de Cameron especifica várias razões.
Ade Miller
13
@Ade. De causa, estamos falando sobre as mesmas coisas. As diferenças entre dois pacotes são bem conhecidas. Quero apenas dizer claramente que o único motivo sério de uso do "Perfil do Cliente" é o requisito de negar o ASP.NET nos computadores clientes. Todos os outros detalhes técnicos não são realmente importantes.
Oleg
11
Saving of less then 8 MB… Esse é apenas o instalador; é 110MB mais uma vez instalado.
Synetech
2
110Mb-8Mb nesta era de unidades de 1 TB, etc. quem se importa?
Liam
11
@ Oleg, Se sua resposta for verdadeira, por que o .NET 4.5 em diante não oferece mais suporte ao Perfil de Cliente?
Pacerier
48

Uma lista de assemblies está disponível em Assemblies no .NET Framework Client Profile no MSDN (a lista é muito longa para incluir aqui).

Se você estiver mais interessado em recursos, o .NET Framework Client Profile no MSDN lista o seguinte como incluído:

  • Common Language Runtime (CLR)
  • ClickOnce
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Estrutura de entidade
  • Windows Workflow Foundation
  • Discurso
  • Suporte XSLT
  • LINQ para SQL
  • Bibliotecas de design de tempo de execução para Entity Framework e WCF Data Services
  • Estrutura de extensibilidade gerenciada (MEF)
  • Tipos dinâmicos
  • Recursos de programação paralela, como TPL (Task Parallel Library), LINQ paralelo (PLINQ) e Estruturas de dados de coordenação (CDS)
  • Depurando Aplicativos Cliente

E o seguinte, como não está sendo incluído:

  • ASP.NET
  • Funcionalidade avançada do Windows Communication Foundation (WCF)
  • Provedor de dados do .NET Framework para Oracle
  • MSBuild para compilação
Richard Szalay
fonte
20

Cameron MacFarland acertou em cheio.

Gostaria de acrescentar que o perfil do cliente .NET 4.0 será incluído no Windows Update e em versões futuras do Windows. Espere que a maioria dos computadores tenha o perfil do cliente, não o perfil completo. Não subestime esse fato se estiver fazendo vendas business-to-consumer (B2C).

Simon P.
fonte