Mam aplikację .NET 2.0 i planuję utworzyć "inteligentnego instalatora", który sprawdza dostępną wersję .NET na komputerze użytkownika i instaluje dla niej mój konkretny port. Widziałem, że:Pełne zrozumienie wersji .NET i kompatybilności wstecznej
- Windows XP (SP2) pochodzi z .NET 2.0
- Windows Vista pochodzi z .NET 3.0
- Windows 7 jest wyposażony w .NET 3.5
- Windows 8 jest wyposażony w .NET 4.5
O ile mi wiadomo, jedyną rzeczą, która nie jest kompatybilna wstecz, jest wersja CLR, która jest zmieniana po .NET 4.0.
Więc jeśli nie chcę użytkownika do zainstalowania dodatkowej ramy tylko dla mojej aplikacji, powinni mam te wersje mojego app:
- .NET 2.0 - XP (SP2 i górnej), Vista (3.0 powinien być w stanie uruchomić 2.0) i 7 (3.5 powinno być w stanie uruchomić 2.0)
- .NET 4.0 - jeśli ktoś zainstalował TYLKO 4.0 i nie ma innego
- .NET 4.5 - dla użytkowników, którzy mają Windows 8 z żaden inny .NET zainstalowany
Mam rację? Lub 4.5/4.0 są kompatybilne wstecznie?
EDIT: Jeśli któryś z górnych danych nie jest w porządku, proszę mnie poprawić
Urgh. Zamierzasz utworzyć inną wersję swojej aplikacji dla każdej dostępnej wersji .NET? Wydaje się, że straciłeś dużo czasu i starałeś się kodować.Dlaczego nie wybrać najniższego wspólnego mianownika? – KingCronus
Nie zmieniam pojedynczej linii, tylko rekompiluj dla 3 różnych wersji. Mój instalator sieci wybierze jeden do zainstalowania. – blez
Tak więc nie będziesz w ogóle korzystać z żadnych funkcji .NET 3/3.5/4 +. Równie dobrze możesz mieć jedną wersję .NET 2 w mojej opinii? Jaki jest twój powód, dla którego nie chcesz, aby użytkownik musiał zainstalować framework? Wydaje mi się to całkowicie uzasadnione. – KingCronus