Kompatibilita verzí v rozhraní .NET Framework

Zpětná kompatibilita znamená, že aplikace vyvinutá pro konkrétní verzi platformy poběží v novějších verzích této platformy. Rozhraní .NET Framework se snaží maximalizovat zpětnou kompatibilitu: zdrojový kód napsaný pro jednu verzi rozhraní .NET Framework by měl kompilovat v novějších verzích rozhraní .NET Framework a binární soubory v jedné verzi rozhraní .NET Framework by se měly chovat identicky v novějších verzích rozhraní .NET Framework.

Kompatibilita verzí pro aplikace

Ve výchozím nastavení je aplikace spuštěna ve verzi rozhraní .NET Framework, pro kterou byla vytvořena. Pokud tato verze není k dispozici a konfigurační soubor aplikace nedefinuje podporované verze, může dojít k chybě inicializace rozhraní .NET Framework. V tomto případě se pokus o spuštění aplikace nezdaří.

Chcete-li definovat konkrétní verze, na kterých běží aplikace, přidejte jeden nebo více elementů <supportedRuntime> konfiguračního souboru vaší aplikace. Každý element <supportedRuntime> uvádí podporovanou verzi modulu runtime, přičemž první uvádí nejvíce upřednostňovanou verzi a poslední nejméně upřednostňovanou verzi.

Kompatibilita verzí pro komponenty

Aplikace může kontrolovat verzi rozhraní .NET Framework, na němž běží, ale součást nikoli. Součásti a knihovny tříd jsou načteny v kontextu konkrétní aplikace a proto se automaticky spouštějí ve verzi rozhraní .NET Framework, ve které je spuštěna aplikace.

Kvůli tomuto omezení je pro součásti obzvlášť důležité zajištění kompatibility. Počínaje verzí .NET Framework verze 4 můžete zadat míru, do jaké se očekává, že součást zůstane kompatibilní ve více verzích, použitím atributu System.Runtime.Versioning.ComponentGuaranteesAttribute pro tuto součást. Nástroje mohou použít tento atribut k rozpoznání možného porušování záruky kompatibility v budoucích verzích komponenty.

Zpětná kompatibilita a rozhraní .NET Framework 4

Verze .NET Framework 4 je zpětně kompatibilní s aplikacemi, které byly vytvořeny ve verzích .NET Framework 1.1, 2.0, 3.0 a 3.5. Jinými slovy, aplikace a komponenty sestavené v předchozích verzích rozhraní .NET Framework budou fungovat i v rozhraní .NET Framework 4.

V praxi však může být tato kompatibilita porušena zdánlivě bezvýznamnými změnami v rozhraní .NET Framework a změnami v programovacích postupech. Například zvýšení výkonu v prostředí .NET Framework 4 může odhalit spor, který nebyl na předchozích verzích zřejmý. Podobně použití pevně zakódované cesty k sestavením .NET Framework, provádění porovnání rovnosti s konkrétní verzí rozhraní .NET Framework a získání hodnoty soukromého pole pomocí reflexe nejsou zpětně kompatibilní postupy. Kromě toho zahrnuje každá verze rozhraní .NET Framework opravy chyb a změny související se zabezpečením, které mohou ovlivnit kompatibilitu některých aplikací a komponent.

Měli byste vyzkoušet vaše aplikace a komponenty rozhraní .NET Framework, abyste zajistili, že jsou kompatibilní s jinými verzemi rozhraní .NET Framework. Abyste zajistili, že aplikace nebo komponenta úspěšně běží na .NET Framework 4, použijte Návod týkající se kompatibility aplikace .NET Framework 4.

Jestliže vaše aplikace nebo komponenta nefunguje v rozhraní .NET Framework 4 podle očekávání, použijte následující kontrolní seznamy.

Pro aplikace .NET Framework 2.0, 3.0 a 3.5:

  • Zkontrolujte Potíže s migrací rozhraní .NET Framework 4, zda obsahuje jakékoli změny, které by mohly ovlivnit vaši aplikaci, a použijte popsané zástupné řešení.

  • Pokud znovu kompilujete existující zdrojový kód pro spolupráci s rozhraním .NET Framework 4 nebo pokud vyvíjíte novou verzi aplikace nebo komponenty, která se zaměřuje na rozhraní .NET Framework 4 z existujícího základu zdrojového kódu, informujte se o zastaralých typech a členech v části Co je zastaralé v rozhraní .NET Framework a použijte popsané řešení. (Dříve nakompilovaný kód se bude dále spouštět proti typům a prvkům, které byly označeny jako zastaralé.)

  • Pokud zjistíte, že změna v rozhraní .NET Framework 4 způsobila poškození vaší aplikace, v části Schéma nastavení za běhu zjistěte, zda můžete použít nastavení modulu runtime v konfiguračním souboru aplikace k obnovení předchozího chování.

  • Pokud narazíte na problém, který nebyl zdokumentován, založte záznam o chybě Microsoft Connect a kontaktujte společnost Microsoft na e-mailu netfxcf@microsoft.com s číslem chyby.

Pro aplikace .NET Framework 1.1:

  • Zkontrolujte Potíže s migrací rozhraní .NET Framework 4, zda obsahuje jakékoli změny, které by mohly ovlivnit vaši aplikaci, a použijte popsané zástupné řešení.

  • Zkontrolujte veškeré změny provedené v těchto verzích v tématech Změny v rozhraní .NET Framework 3.5 SP1 a Změny v rozhraní .NET Framework 2.0.

  • Pokud znovu kompilujete existující zdrojový kód pro spolupráci s rozhraním .NET Framework 4 nebo pokud vyvíjíte novou verzi aplikace nebo komponenty, která se zaměřuje na rozhraní .NET Framework 4 z existujícího základu zdrojového kódu, informujte se o zastaralých typech a členech v části Co je zastaralé v rozhraní .NET Framework a použijte popsané řešení. (Dříve nakompilovaný kód se bude dále spouštět proti typům a prvkům, které byly označeny jako zastaralé.)

  • Pokud zjistíte, že změna v rozhraní .NET Framework 4 způsobila poškození vaší aplikace, v části Schéma nastavení za běhu zjistěte, zda můžete použít nastavení modulu runtime v konfiguračním souboru aplikace k obnovení předchozího chování.

  • Pokud narazíte na problém, který nebyl zdokumentován, založte záznam o chybě Microsoft Connect a kontaktujte společnost Microsoft na e-mailu netfxcf@microsoft.com s číslem chyby.

Kompatibilita a souběžné spouštění

Pokud nemůžete najít vhodné řešení pro váš problém, nezapomeňte, že rozhraní .NET Framework 4 funguje ve spolupráci s verzemi 1.1, 2.0 a 3.5. Můžete nainstalovat odpovídající verzi .NET Framework na cílovém počítači za účelem spouštění aplikace v tom nejlepším prostředí. Další informace o souběžném spouštění najdete v části souběžné spouštění.

Viz také

Koncepty

Novinky v rozhraní .NET Framework 4

Další zdroje

Co je zastaralé v rozhraní .NET Framework

Zásada cyklu životnosti podpory rozhraní Microsoft .NET Framework

Potíže s migrací rozhraní .NET Framework 4

Zásada cyklu životnosti podpory rozhraní Microsoft .NET Framework

Historie změn

Datum

Historie

Důvod

Srpen 2010

K chybě inicializace rozhraní .NET Framework dochází, pokud není nainstalována podporovaná verze rozhraní .NET Framework.

Oprava chyby obsahu