Rozumiem, że .NET obsługuje obok siebie wykonanie, jednak widziałem przypadki, w których jeden komputer ma 2.0, a inny 2.0 sp1, a inny miał .NET 3.5. W tych wersjach do niektórych bibliotek DLL produkowanych przez Microsoft używano metod . Myślę, że to był System.Net.Mail.
To była zła rzecz, ponieważ korzystałem z metody dostępnej w wersji 2.0 z dodatkiem SP1 i nie była dostępna w zwykłym 2.0. Moja aplikacja uzyskała wyjątek, a mój menedżer zapytał mnie, dlaczego nie testuję tego przypadku. Ktoś wie, gdzie znaleźć listę metod pasujących do tego scenariusza?
Konkluzja: To doświadczenie sprawia, że nie ufam w 100% roszczeniom ze strony .NET.
Czy ktoś może mi powiedzieć, czy instalacja .NET 4.0 w jakikolwiek sposób zmodyfikuje plik konfiguracyjny, pliki binarne lub w inny sposób wpłynie na wykonanie jakiejkolwiek niższej wersji ramowej?
Odpowiedzi:
1 dla odpowiedzi № 1W skrócie, instalacja .Net 4.0 nie będzie miało żadnego wpływu na wcześniejsze wersje, ponieważ dla każdej wersji ramowej konfiguracja znajduje się w osobnych folderach, a pliki binarne znajdują się w GAC, który już obsługuje wykonanie obok siebie.
Problem, który napotkałeś, może wynikać z konfiguracjiaplikacji wskazującej wcześniejszą wersję podczas korzystania z wersji SP1 lub (w przypadku aplikacji internetowej) serwer może nie mieć zaktualizowanego dodatku SP1.
Pełna lista zmian w każdej wersjimusisz google dużo, ale przez większość czasu, gdy masz zainstalowane różne wersje na swoim komputerze dev, VS informuje cię o przestarzałych metodach, dla nowych będzie pokazywać intellisense tylko wtedy, gdy będzie odpowiednia wersja .Net.
3 dla odpowiedzi № 2
Istnieją reguły FxCop do znajdowania połączeń do apis innych niż RTM.
- Nowość w Visual Studio 2008 SP1 i FxCop 1.36 - zasada wielu celów
- Łapanie różnic RedBits w .NET 2.0 i .NET 2.0SP1