Ich habe eine .NET 2.0-Anwendung und ich plane, ein "intelligentes Installationsprogramm" zu machen, das nach der verfügbaren .NET-Version auf dem PC des Benutzers sucht und meinen spezifischen Port dafür installiert. Ich sah das:
Soweit ich weiß, ist das einzige, was nicht abwärtskompatibel ist, die CLR-Version, die nach .NET 4.0 geändert wird.
Wenn ich also nicht möchte, dass der Benutzer zusätzliches Framework nur für meine Anwendung installiert, sollte ich diese Versionen meiner App haben:
Habe ich Recht? Oder 4.5 / 4.0 sind abwärtskompatibel?
BEARBEITEN: Wenn eine der oberen Daten nicht richtig ist, korrigiere mich bitte
Soweit ich weiß, ist das einzige, was nicht abwärtskompatibel ist, die CLR-Version, die nach .NET 4.0 geändert wird.
Das ist nicht wahr. Sie können Ihre .NET2-kompilierte Anwendung auf dem .NET4-Framework ausführen lassen.
Sie müssen nur Folgendes zu Ihrer app.config hinzufügen:
%Vor% Hinweis: Ich stimme @KingKronus zu, dh Why not just pick the lowest common denominator?
In Ihrem Fall wäre das .NET2 kompiliert und nur ein Satz von pdbs und ein Kompilierungssatz.
Ja, Sie müssten Ihre .NET2-kompilierte App testen, die auf der .net4-Laufzeitumgebung läuft, aber Sie müssten Ihre App trotzdem in jedem der Frameworks in Ihrer ursprünglichen Lösung testen.
Eigentlich müssen Sie es nicht manuell überprüfen. Ihre Anwendung zeigt nach dem Ausführen eine ordnungsgemäße Meldung an und fordert den Benutzer auf, die benötigte Version herunterzuladen und zu installieren.
Wenn Sie Windows XP weiterhin unterstützen müssen, wählen Sie .NET 4.0. .NET 4.5 wird damit umgehen