2013-02-27 24 views
13

Sto sviluppando un'applicazione desktop C# utilizzando Winforms. Ho creato una strategia di installazione utilizzando gli studi visivi, facendo clic una volta sullo strumento di installazione. Fortunatamente fornisce ai client la possibilità di rilevare, scaricare e configurare i relativi componenti prerequisiti.fa .Net 4.5 include .Net 4.0

La mia domanda è che ho iniziato a sviluppare questa app con .NET 4.0 e poi l'ho aggiornato a .NET 4.5 ora nella lista dei prerequisiti sia il 4.5 sia il 4 sono spuntati. mi chiedo se deseleziono il componente .NET 4.0 sarebbe tutto a posto?

fa .NET 4.5 include .NET 4.0?

risposta

3

penso che ci sia alcun bisogno di 4.0 se si target 4,5

Vedere Installing the .NET Framework 4.5

.NET Framework 4.5 sostituisce il .NET Framework 4. Quando si installa il .NET Framework 4.5 in un . sistema dotato di .NET Framework 4 installato, i gruppi sono sostituiti *

+0

Ci sono caratteristiche di .NET 4.5 che non sono disponibili nella versione 4.0, quindi la cosa migliore pratica è quello di indirizzare la versione precedente , per evitare di essere tentati di utilizzare funzionalità inesistenti nella 4.0. – MDMoore313

0

risposta alla domanda è qui: http://msdn.microsoft.com/en-us/library/5a4x27ek.aspx

Precisamente:

• Il .NET Framework 4.5 sostituisce il .NET Framework 4. Quando si installa .NET Framework 4.5 in un sistema dotato di .NET Framework 4 installato, le assemblee vengono sostituiti.

Quindi, .NET 4.5 non include .NET 4.0. Hai ancora la possibilità che alcune assemblee possono perdere

+0

quindi da quando collaudo e vedo che la mia applicazione non richiede alcun assembly specifico .net 4.0, non dovrei rimuoverlo dall'elenco dei prerequisiti. Grazie. –

2

Esso non comprende è di per sé (come alcune porzioni sono sovrascritti), se si target 4.0 allora dovrebbe lavorare con 4.5, ma NON vizio versa.

0

È possibile compilare un'applicazione per .NET 4.5 ed eseguirla sul runtime 4.0, ovvero fino a quando non si preme una nuova funzione che non esiste su 4.0. A quel punto l'app esplode in fase di runtime. Supponiamo che tu scriva un codice che è per lo più .NET 4.0, ma ha solo alcune delle nuove funzionalità di .NET 4.5 - .NET inizierà felicemente la tua applicazione ed eseguirà tutto 4.0 bene, fino a quando non rilascerà quel codice 4.5 - e poi si bloccherà senza troppe cerimonie in fase di runtime.

Quindi, .NET 4.5 non include .NET 4.0.

+0

sì, stai dicendo qualcosa di complicato :) non l'ho capito esattamente. –

+1

La tua risposta sembra sostenere che 4.0 non include 4.5. Non d'aiuto. –

Problemi correlati