Sdílet prostřednictvím


Kompatibilita aplikací v rozhraní .NET Framework

Kompatibilita je důležitým cílem každé verze rozhraní .NET Framework. Kompatibilita zajišťuje, že každá verze bude sčítá, takže předchozí verze budou i nadále fungovat. Na druhou stranu můžou změny předchozích funkcí (například zlepšit výkon, řešit problémy se zabezpečením nebo opravit chyby) způsobit problémy s kompatibilitou ve stávajícím kódu nebo existujících aplikacích, které běží v novější verzi.

Každá aplikace cílí na konkrétní verzi rozhraní .NET Framework podle:

  • Definování cílové architektury v sadě Visual Studio
  • Určení cílové architektury v souboru projektu
  • TargetFrameworkAttribute Použití zdrojového kódu

Při migraci z jedné verze rozhraní .NET Framework na jinou existují dva typy změn, které je potřeba vzít v úvahu:

Změny v modulu runtime

Problémy s modulem runtime jsou problémy, ke kterým dochází při umístění nového modulu runtime na počítač a změny chování aplikace. Při spuštění na novější verzi, než je cílová verze, používá rozhraní .NET Framework k napodobení starší cílové verze k napodobení starší cílové verze chování . Aplikace běží na novější verzi, ale funguje, jako by běžela ve starší verzi. Řada problémů s kompatibilitou mezi verzemi rozhraní .NET Framework je díky tomuto modelu vychytávání zmírněná. Pokud byl například binární soubor zkompilován pro rozhraní .NET Framework 4.0, ale běží na počítači s rozhraním .NET Framework 4.5 nebo novějším, běží v režimu kompatibility rozhraní .NET Framework 4.0. To znamená, že mnoho změn v novější verzi nemá vliv na binární soubor.

Verze rozhraní .NET Framework, na kterou cílí aplikace, je určena cílovou verzí vstupního sestavení pro doménu aplikace, ve které se kód spouští. Všechna další sestavení načtená v této verzi cíle domény aplikace. Například v případě spustitelného souboru je verze, pod kterou spustitelný soubor cílí, režim kompatibility všechna sestavení v této doméně aplikace běží.

Změny cílení

Změny cílení jsou změny, ke kterým dojde, když je sestavení znovu zkompilováno tak, aby cílilo na novější verzi. Cílením na novější verzi se sestavení přihlásí k novým funkcím a také potenciálním problémům s kompatibilitou starých funkcí.

Klasifikace dopadu

VčláncíchchCHch

Hlavní
Významná změna, která má vliv na velký počet aplikací nebo která vyžaduje podstatnou změnu kódu.

Menší
Změna, která má vliv na malý počet aplikací nebo která vyžaduje menší úpravy kódu.

Hraniční případ
Změna, která ovlivňuje aplikace ve velmi konkrétních scénářích, které nejsou běžné.

Průhledné
Změna, která nemá žádný znatelný vliv na vývojáře nebo uživatele aplikace. Z důvodu této změny by aplikace neměla vyžadovat úpravy.

Viz také