2013-02-27 3 views
13

Ich entwickle eine C# Desktop-Anwendung mit Winforms. Ich habe eine Installationsstrategie erstellt, indem ich das Installationstool von Visual Studio clock once verwendet habe. Glücklicherweise bietet es Clients, um die zugehörigen vorausgesetzten Komponenten zu erkennen, herunterzuladen und einzurichten.enthält .NET 4.5. NET 4.0

Meine Frage ist ich begann, diese App mit .NET 4.0 zu entwickeln und dann auf .NET 4.5 aktualisiert, jetzt auf der Liste der Voraussetzungen sowohl 4,5 und 4 überprüft wird. Ich frage mich, ob ich die .NET 4.0-Komponente deaktivieren würde, wäre es in Ordnung?

enthält .NET 4.5 .NET 4.0?

Antwort

3

Ich denke, es gibt keine Notwendigkeit für 4,0 ist, wenn man 4.5 Ziel

Siehe Installing the .NET Framework 4.5

Das .NET Framework 4.5 ersetzt das .NET Framework 4. Wenn Sie .NET Framework 4.5 auf einem installieren . System, das auf .NET Framework 4 installiert ist, werden die Baugruppen ersetzt *

+0

Es gibt Funktionen von .NET 4.5, die in 4.0 nicht verfügbar sind, so dass die beste Praxis ist die ältere Version zielen , um nicht versucht zu sein, Funktionen zu verwenden, die in 4.0 nicht vorhanden sind. – MDMoore313

0

Antwort auf die Frage ist hier: http://msdn.microsoft.com/en-us/library/5a4x27ek.aspx

Genau:

• Das .NET Framework 4.5 .NET Framework ersetzt 4. Wenn Sie .NET Framework 4.5 auf einem System installieren , die .NET Framework 4 installiert ist, werden die Baugruppen ersetzt.

Also, keine .NET 4.5 nicht .NET 4.0. Sie haben noch eine Chance, dass einige Baugruppen

sehen werden
+0

daher, da ich teste und sehe, dass meine Anwendung keine .net 4.0 spezifische Versammlung erfordert, sollte ich sie nicht von der Voraussetzungsliste entfernen. Vielen Dank. –

2

Es ist nicht umfassen es per se (wie einige Abschnitte überschrieben sind), aber wenn Sie 4.0 Ziel dann sollte es mit 4,5 arbeiten, aber NICHT vice versa.

0

Sie können eine Anwendung für .NET 4.5 kompilieren und sie auf der 4.0-Laufzeit ausführen - das ist, bis Sie ein neues Feature treffen, das nicht auf 4.0 vorhanden ist. An diesem Punkt bombardiert die App zur Laufzeit. Nehmen wir an, Sie schreiben etwas Code, der hauptsächlich .NET 4.0 ist, aber nur einige der neuen Funktionen von .NET 4.5 - .NET wird Ihre Anwendung glücklicherweise starten und alles 4.0 gut laufen lassen, bis es diesen 4.5 Code trifft - und dann abstürzen unbemerkt zur Laufzeit.

Also, keine .NET 4.5 nicht .NET 4.0.

+0

yeah, du sagst etwas kompliziertes :) ich habe es nicht genau verstanden. –

+1

Ihre Antwort scheint zu argumentieren, dass 4.0 4.5 nicht enthält. Nicht hilfreich. –