2011-01-13 17 views
9

Ho codice/supporto un'applicazione costruita su .NET framework che è sempre in esecuzione su .NET 2. Quest'anno stiamo aggiornando l'applicazione per utilizzare .NET 3.5 (o 4?).Come mai il programma di installazione offline di .NET Framework 3.5 è più grande di 200 MB rispetto al programma di installazione offline di .NET 4?

Nella preparazione di questo cambiamento abbiamo notato che il programma di installazione offline (richiesto per la nostra base clienti) per .NET 3.5 è più grande di 200+ MB rispetto all'installer offline di .NET 4.

Ecco le mie domande.

Perché il programma di installazione di dotnet 3.5 è molto più grande del programma di installazione offline 4?

Possiamo TARGET .NET 3.5 ma distribuire .NET 4. In altre parole, .NET 4 è compatibile con le versioni precedenti? Supponendo che .NET 4 fosse l'unica applicazione .NET installata.

SE la nostra applicazione è compilata per CPU x86 (piuttosto che qualsiasi CPU), devi ancora distribuire il profilo del client x64/x86 o possiamo semplicemente distribuire il profilo del client x86? In altre parole, possiamo distribuire il profilo del client x86 anche se verrà installato su macchine x64 se la nostra app è compilata per CPU target x86? Eventuali rischi o trucchi per fare questo?

Il problema è che se si aggiorna la nostra app a .NET di destinazione ci sono molti server di applicazioni che dobbiamo anche aggiornare quali effetti un certo numero di altre applicazioni. qualche idea?

Seth

+1

buona domanda, mi sono chiesto la stessa cosa :) – Tom

risposta

3

.NET 3.5 è completamente compatibile con .NET 3.0 e .NET 2.0 - include quindi tutti quei due versioni precedenti pure. .NET 4.0, d'altra parte, inizia da zero e può scartare il codice deprecato/non necessario. Ciò significa anche che .NET 4.0 non può necessariamente eseguire il codice .NET 3.5 invariato: c'è un altro SO answer on some of the breaking changes there.

+0

Questo non è accurato, non ci sono versioni separate degli assiemi. Tutti gli assembly di base da 2.0 a 3.5 SP1 hanno assembly 2.0.0.0 –

+1

@Hans, infatti. Ecco perché ho detto che 3.5 include tutte le versioni precedenti (la versione del framework ha poco a che fare con le versioni di assemblaggio) – bdonlan

8

È a causa dei prerequisiti. Il programma di installazione di .NET 4.0 richiede il computer di destinazione per essere aggiornato per

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

Il programma di installazione 3.5 SP1 è molto più indulgente, può persino funzionare sulla versione originale di XP. Per farlo funzionare, deve includere gli aggiornamenti di molti dei componenti principali di Windows. Una parte significativa di questo programma di installazione da 231 MB non sono in realtà componenti .NET.

Notevole anche che in .NET 4.0, la differenza tra il profilo del client e la versione completa è in gran parte scomparsa. La versione completa è solo il 15% più grande, non ha molto senso indirizzare il profilo del client.

Problemi correlati