Zgodność aplikacji w programie .NET Framework

Zgodność jest ważnym celem każdej wersji programu .NET Framework. Zgodność zapewnia, że każda wersja jest addytywna, więc poprzednie wersje będą nadal działać. Z drugiej strony zmiany w poprzednich funkcjach (na przykład w celu poprawy wydajności, rozwiązywania problemów z zabezpieczeniami lub naprawiania usterek) mogą powodować problemy ze zgodnością w istniejącym kodzie lub istniejących aplikacjach uruchamianych w nowszej wersji.

Każda aplikacja jest przeznaczona dla określonej wersji programu .NET Framework przez:

  • Definiowanie platformy docelowej w programie Visual Studio.
  • Określanie platformy docelowej w pliku projektu.
  • Zastosowanie obiektu TargetFrameworkAttribute do kodu źródłowego.

Podczas migracji z jednej wersji programu .NET Framework do innej istnieją dwa typy zmian, które należy wziąć pod uwagę:

Zmiany środowiska uruchomieniowego

Problemy ze środowiskiem uruchomieniowym są takie, które pojawiają się, gdy nowe środowisko uruchomieniowe zostanie umieszczone na maszynie, a zachowanie aplikacji ulegnie zmianie. W przypadku uruchamiania w nowszej wersji niż docelowa program .NET Framework używa dziwaczne zachowanie, aby naśladować starszą wersję docelową. Aplikacja działa w nowszej wersji, ale działa tak, jakby była uruchomiona w starszej wersji. Wiele problemów ze zgodnością między wersjami programu .NET Framework jest rozwiązywanych przez ten dziwaczny model. Jeśli na przykład plik binarny został skompilowany dla programu .NET Framework 4.0, ale działa na maszynie z programem .NET Framework 4.5 lub nowszym, działa w trybie zgodności programu .NET Framework 4.0. Oznacza to, że wiele zmian w nowszej wersji nie ma wpływu na dane binarne.

Wersja programu .NET Framework, która jest przeznaczona dla aplikacji, jest określana przez docelową wersję zestawu wejściowego dla domeny aplikacji, w których działa kod. Wszystkie dodatkowe zestawy załadowane w tej domenie aplikacji są przeznaczone dla tej wersji. Na przykład w przypadku pliku wykonywalnego wersja docelowa pliku wykonywalnego jest trybem zgodności wszystkich zestawów w tej domenie aplikacji uruchamianych w ramach.

Zmiany retargetingu

Zmiany retargetingu to te, które pojawiają się, gdy zestaw zostanie ponownie skompilowany w celu kierowania nowszej wersji. Określanie wersji nowszej oznacza, że zestaw decyduje się na nowe funkcje, a także potencjalne problemy ze zgodnością starych funkcji.

Klasyfikacja wpływu

W artykułach opisujących zmiany środowiska uruchomieniowego i retargetingu, na przykład zmiany retargetingu migracji do programu .NET Framework 4.8.x, poszczególne elementy są klasyfikowane przez ich oczekiwany wpływ w następujący sposób:

Istotne
Znacząca zmiana, która ma wpływ na dużą liczbę aplikacji lub wymaga znacznej modyfikacji kodu.

Nieistotne
Zmiana, która ma wpływ na niewielką liczbę aplikacji lub wymaga drobnych modyfikacji kodu.

Przypadek krawędzi
Zmiana, która dotyczy aplikacji w bardzo konkretnych scenariuszach, które nie są typowe.

Przezroczyste
Zmiana, która nie ma zauważalnego wpływu na dewelopera lub użytkownika aplikacji. Aplikacja nie powinna wymagać modyfikacji z powodu tej zmiany.

Zobacz też