Voll verstehen die .NET-Versionen und Abwärtskompatibilität
Habe ich eine .NET 2.0-Anwendung, und ich Plane zu machen ein "smart installer", die Prüfungen für die zur Verfügung .NET version auf dem PC des Benutzers und installieren bestimmten port.
Ich sah, dass:
- Windows XP (SP2) kommt mit .NET 2.0
- Windows Vista kommt mit .NET 3.0
- Windows 7 kommt mit .NET 3.5
- Windows 8 kommt mit .NET 4.5
Soweit ich weiß, ist die einzige Sache, die nicht rückwärts kompatibel ist, die CLR-version, die geändert nach .NET 4.0.
So, wenn ich nicht wollen, dass die Benutzer zum installieren zusätzlicher Rahmen nur für meine Anwendung, ich habe diese Versionen meiner app:
- .NET 2.0 - XP (SP2 und höher), Vista (3.0 sollten in der Lage sein zu laufen 2.0) und 7 (3.5 sollten in der Lage sein zu laufen 2.0)
- .NET 4.0 - wenn jemand installiert 4.0 NUR und haben keine andere
- .NET 4.5 - für die Benutzer, die Windows 8 mit keinem anderen .NET installiert
Bin ich im Recht? Oder 4,5/4.0 abwärtskompatibel sind?
EDIT: Wenn die oberen Daten nicht Stimmen, bitte korrigieren Sie mich,
- Urgh. Erstellen Sie eine andere version Ihrer Anwendung für jede version .NET verfügbar ist? Scheint wie eine Menge Verschwendete Zeit und Programmieraufwand. Warum nicht wählen Sie einfach den niedrigsten gemeinsamen Nenner?
- Ich werde mich nicht ändern eine einzige Zeile, nur neu kompilieren für 3 verschiedene Versionen. Meine web-installer auswählen, welche man installieren.
- Sie werden also nicht mit jeder .NET 3/3.5/4+ features überhaupt. Sie könnte genauso gut nur eine einzige .NET-2-version meiner Meinung nach? Was ist Ihre Argumentation für die nicht wollen, dass der Benutzer installieren zu müssen, einen Rahmen? Es scheint durchaus sinnvoll meiner Meinung nach.
- Ich persönlich mag es nicht, die den Benutzer zwingen install frameworks nur für eine einzige app. Das ist einer der Gründe, die ich nicht mag Java und ich mag .NET. Das ist, warum ich meine software benötigt keine zusätzlichen Installationen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht wahr. Sie können Ihre .NET2 kompilierte Anwendung ausführen auf der .NET4 framework.
Müssen Sie nur fügen Sie Folgendes zu Ihrer app.config:
Hinweis, ich Stimme mit @KingKronus, dh
Why not just pick the lowest common denominator?
In deinem Fall wäre das dann .NET2 zusammengestellt und nur ein Satz von PDB-Dateien und einer compilation legen.
Ja, du brauchst zum testen Ihrer .NET2-kompilierte app läuft OK auf der .net4 Laufzeit, ABER Sie müssten testen Sie Ihre app in den einzelnen Rahmen, der in der ursprünglichen Lösung sowieso.
The .NET Framework 4.5 is backward-compatible with applications that were built with the .NET Framework versions 1.1, 2.0, 3.0, 3.5, and 4.
Eigentlich brauchen Sie nicht zu überprüfen, es manuell. Ihre Anwendung zeigen die richtige Meldung angezeigt, nachdem Sie es laufen und Fragen Benutzer zum herunterladen und installieren der benötigten version.
Wenn Ihr noch Unterstützung für windows XP, wählen Sie .NET 4.0. .NET 4.5 wird damit umgehen