Differenze tra il framework completo di Microsoft .NET 4.0 e il profilo client


360

Il programma di installazione completo di Microsoft .NET Framework 4.0 (32 e 64 bit) è 48,1 MB e il programma di installazione del profilo client è 41,0 MB. I file di installazione estratti sono rispettivamente 237 MB e 194 MB e, una volta installati, sono 537 MB e 427 MB.

Questa è una differenza di 110 MB. Che differenza c'è tra i due pacchetti?

Quando è preferibile installare il profilo client anziché .NET Framework completo?


52
Una differenza di 7.1 MB? Gli sviluppatori sono frustrati dagli errori di compilazione perché Microsoft ha ritenuto che valesse la pena dividerlo in 7.1 MB? Eccezionale.
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? Questo è solo il programma di installazione . Quando viene decompresso, è 43 MB in più. Una volta installato, è 110 MB in più. Puoi dimenticare i sistemi integrati o di basso profilo; costi e architettura non sono gli unici motivi per cui Rπ non supporta Windows.
Synetech,

Risposte:


365

Le novità di .NET Framework 4 Client Profile RTM spiegano molte delle differenze:

Quando utilizzare il profilo client NET4 e quando utilizzare NET4 Full Framework?
Profilo client NET4:
scegli sempre come target il profilo client NET4 per tutte le applicazioni desktop client (inclusi Windows Form e app WPF).

NET4 Full framework:
Target NET4 Full solo se le funzionalità o gli assembly necessari per l'app non sono inclusi nel profilo client. Ciò comprende:

  • Se stai creando app per server. Ad esempio:
    o app ASP.Net
    o servizi Web basati su ASMX lato server
  • Se si utilizzano scenari client legacy. Ad esempio:
    o Utilizzare System.Data.OracleClient.dll che è obsoleto in NET4 e non incluso nel profilo client.
    o Usa Windows Workflow Foundation 3.0 o 3.5 legacy (WF3.0, WF3.5)
  • Se hai come target scenari di sviluppatori e hai bisogno di strumenti come MSBuild o hai bisogno di accedere a assiemi di progettazione come System.Design.dll

Tuttavia, come indicato su MSDN , questo non è rilevante per> = 4.5:

A partire da .NET Framework 4.5, il profilo client è stato sospeso e solo il pacchetto ridistribuibile completo è disponibile. Le ottimizzazioni fornite da .NET Framework 4.5, come dimensioni di download inferiori e distribuzione più rapida, hanno eliminato la necessità di un pacchetto di distribuzione separato. Il singolo ridistribuibile semplifica il processo di installazione e semplifica le opzioni di distribuzione della tua app.


12
Questo post sul blog parla anche delle diverse dimensioni dei file del framework: hanselman.com/blog/…
M. Dudley,

56

Dovresti distribuire "Profilo client" invece di "Full Framework" all'interno di un'azienda principalmente in un solo caso: vuoi negare esplicitamente che alcune funzionalità .NET siano in esecuzione sui computer client. L'unico caso reale è la negazione di ASP.NET sui computer client della società, ad esempio, per motivi di sicurezza o politica aziendale esistente.

Il salvataggio di meno di 8 MB sul computer client non può essere una ragione seria della distribuzione del "Profilo client" in una società. Il rischio della necessità di implementare il "Full Framework" più tardi nella società è superiore ai costi di 8 MB per cliente.


Il link nella risposta di Cameron specifica una serie di ragioni.
Ade Miller,

13
@Ade. Di causa stiamo parlando delle stesse cose. Le differenze tra due pacchetti sono ben note. Voglio solo dire chiaramente che l'unica ragione seria di utilizzo del "Profilo client" è il requisito di negare ASP.NET sui computer client. Tutti gli altri dettagli tecnici non sono molto importanti.
Oleg,

1
Saving of less then 8 MB… Questo è solo il programma di installazione; è 110 MB in più una volta installato.
Synetech,

2
110 Mb-8 Mb in questa età di unità da 1 TB, ecc. A chi importa?
Liam,

1
@Oleg, se la tua risposta è vera, perché .NET 4.5 in poi non supporta più il profilo client?
Pacerier,

48

Un elenco di assembly è disponibile in Assembly nel profilo client .NET Framework su MSDN (l'elenco è troppo lungo per essere incluso qui).

Se sei più interessato alle funzionalità, il profilo client .NET Framework su MSDN elenca i seguenti elementi inclusi:

  • Common Language Runtime (CLR)
  • ClickOnce
  • Windows Form
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Entity Framework
  • Windows Workflow Foundation
  • Discorso
  • Supporto XSLT
  • LINQ to SQL
  • Librerie di progettazione runtime per Entity Framework e WCF Data Services
  • Managed Extensibility Framework (MEF)
  • Tipi dinamici
  • Funzionalità di programmazione parallela, come Task Parallel Library (TPL), Parallel LINQ (PLINQ) e Coordination Data Structures (CDS)
  • Debug delle applicazioni client

E quanto segue come non incluso:

  • ASP.NET
  • Funzionalità avanzata Windows Communication Foundation (WCF)
  • Provider di dati .NET Framework per Oracle
  • MSBuild per la compilazione

20

Cameron MacFarland l'ha inchiodato.

Vorrei aggiungere che il profilo client .NET 4.0 verrà incluso in Windows Update e nelle versioni future di Windows. Aspettatevi che la maggior parte dei computer abbia il profilo client, non il profilo completo. Non sottovalutare questo fatto se stai facendo vendite business-to-consumer (B2C).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.