2008-09-26 20 views
5

Ich entwickle eine Anwendung, die auf das .NET 3.5 Framework abzielt. Das Setup der Anwendung installiert .NET 2.0 Laufzeit auf dem Zielcomputer. Bis jetzt hatte ich noch keine Probleme damit, aber ich frage mich, welche Probleme ich auf der ganzen Linie haben werde. Muss ich brauchen installiert werden 3.5 Laufzeit?Ausrichtung auf .NET Framework 3.5 mit .NET 2.0 Runtime. Vorbehalte?

Ich muss das .NET-Laufzeit-Installationsprogramm in unsere Installation verpacken (keine Netzwerkinstallation). Die Größe des Laufzeit-Installers ist das Problem. Das .NET 2.0-Laufzeit-Installationsprogramm ist 23 MB (verwaltbar), das .NET 3.0-Laufzeit-Installationsprogramm ist 50 MB (wird groß) und das .NET 3.5-Laufzeit-Installationsprogramm ist 200 MB (yikes!). Was zum Teufel ist in diesen zusätzlichen 170MBs?

Antwort

2

Dies ist eine schwierige Frage zu beantworten, denn letztlich hängt es davon ab, welche .NET 3.5-Funktionen Sie verwenden. Wenn Sie einige der neuen Bibliotheken wie LINQ verwenden, dann müssen Sie die 3.5 Laufzeiten installieren. Wenn Sie jedoch nur einige der neuen syntaktischen Zucker, die in 3.5 eingeführt wurden, verwenden, können Sie dies nicht tun. Der Grund dafür ist, dass .NET 3.5 100% kompatibel mit der 2.0 CLR ist.

0

Wenn Sie Referenzierung 3.5 spezifische libaries wie System.Core oder System.Xml.Linq dann müssen Sie 3.5 versenden.

0

Es gibt einige Differenzen im generierten Code-Teil von Datensätzen zwischen 3.5 SP1 und 3.5 (no sp), etwas über Serialisierung. Sie können Probleme damit haben, wenn Sie Ihre Installation auf 3.5SP1 aktualisieren, auch in den Kernfunktionen.

0

.NET 3.5 ist nicht literarisch 100% kompatibel mit .NET 2.0, aber mit .NET 2.0 SP1.

Aber ich weiß nicht, ob das Ihnen irgendwelche Probleme geben wird. Das .NET 2.0 SP1-Update soll Extension-Methoden und möglicherweise automatische Eigenschaften verfügbar machen (erinnern Sie sich nicht an Besonderheiten).

Scott Hanselman hat eine good blog post on this.

Für die Größe der bereitstellbaren .NET 3.5-Datei ist, dass es .NET 2.0, 3.0 und 3.5 für x86, x64 und die andere 64-Bit-Architektur in einer großen Datei ist.

+0

und 2.0 SP1 und 3.0 SP1! – Lucas