Postupy: Konfigurace aplikace pro podporu rozhraní .NET Framework 4 nebo novějších verzí
Všechny aplikace, které hostují modul CLR (Common Language Runtime), musí spustit nebo aktivovat modul CLR, aby bylo možné spustit spravovaný kód. Obvykle aplikace .NET Framework funguje ve verzi modulu CLR, pro kterou byla sestavena, ale toto chování stolních aplikací můžete změnit pomocí konfiguračního souboru aplikace (někdy označovaného jako soubor app.config). Nelze však změnit výchozí chování aktivace aplikací pro Windows Store nebo Windows Phone pomocí konfiguračního souboru aplikace. Tento článek vysvětluje, jak povolit spouštění desktopové aplikace v jiné verzi rozhraní .NET Framework a poskytuje příklad cílení verze 4 nebo novější.
Verze rozhraní .NET Framework, na které aplikace poběží, je určena následovně:
Konfigurační soubor.
Pokud konfigurační soubor aplikace obsahuje <podporované položkyRuntime> , které určují jednu nebo více verzí rozhraní .NET Framework a jedna z těchto verzí je k dispozici na počítači uživatele, aplikace běží na této verzi. Konfigurační soubor čte <podporované položkyRuntime> v uvedeném pořadí a používá první verzi rozhraní .NET Framework uvedenou v počítači uživatele. (Použijte <requiredRuntime> – element verze 1.0.)
Kompilovaná verze.
Pokud neexistuje konfigurační soubor, ale verze rozhraní .NET Framework, pro kterou byla aplikace vytvořena, je přítomna v počítači uživatele, aplikace bude spuštěna v této verzi.
Nainstalována je nejnovější verze.
Pokud verze rozhraní .NET Framework, na které byla aplikace postavena, není k dispozici a konfigurační soubor neurčuje verzi v podporovaném <elementuRuntime>, aplikace se pokusí spustit na nejnovější verzi rozhraní .NET Framework, která je přítomna na počítači uživatele.
Aplikace .NET Framework 1.0, 1.1, 2.0, 3.0 a 3.5 se však nespustí automaticky v rozhraní .NET Framework 4 nebo novějším a v některých případech se uživateli může zobrazit chyba a může se zobrazit výzva k instalaci rozhraní .NET Framework 3.5. Chování aktivace závisí rovněž na operačním systému uživatele, protože různé verze systému Windows obsahují různé verze rozhraní .NET Framework. Pokud vaše aplikace podporuje rozhraní .NET Framework 3.5 a 4 nebo vyšší, doporučujeme označit to více záznamy v konfiguračním souboru, aby nedocházelo k chybám inicializace rozhraní .NET Framework. Další informace naleznete v tématu Verze a závislosti.
Můžete také chtít nakonfigurovat aplikace .NET Framework 3.5 tak, aby běžely na rozhraní .NET Framework 4 nebo novějších verzích, a to i na počítačích s nainstalovaným rozhraním .NET Framework 3.5, abyste mohli využívat vylepšení výkonu ve verzích 4 a novějších verzích.
Důležité
Doporučujeme vždy testovat aplikaci v každé verzi rozhraní .NET Framework, kterou podporujete. Informace o upgradu aplikace na podporu novějších verzí rozhraní .NET Framework najdete v tématu Kompatibilita verzí.
Informace o úpravě aplikací .NET Framework 1.0 a 1.1 pro podporu windows 7 a Windows 8 naleznete v tématu Migrace z rozhraní .NET Framework 1.1.
Konfigurace aplikace pro spuštění v rozhraní .NET Framework 4 nebo novějších verzích
Přidejte nebo vyhledejte konfigurační soubor pro projekt s rozhraním .NET Framework. Konfigurační soubor pro aplikaci je ve stejném adresáři jako aplikace a má stejný název jako aplikace, avšak má příponu .config. Například pro aplikaci s názvem MyExecutable.exe musí mít konfigurační soubor aplikace název MyExecutable.exe.config.
Konfigurační soubor přidáte tak, že na řádku nabídek sady Visual Studio zvolíte Projekt, Přidat novou položku. V levém podokně zvolte Obecné a pak zvolte Konfigurační soubor. Pojmenujte konfigurační soubor App.config. Tyto možnosti nabídek nejsou k dispozici pro projekty aplikací pro Windows Store ani pro telefony s Windows, protože na těchto platformách nemůžete změnit zásady aktivace.
Do konfiguračního <souboru aplikace přidejte podporovaný elementRuntime> následujícím způsobem:
<configuration> <startup> <supportedRuntime version="version"/> </startup> </configuration>
kde <verze určuje verzi> CLR, která odpovídá verzi rozhraní .NET Framework, kterou vaše aplikace podporuje. Použijte následující řetězce:
Rozhraní .NET Framework 1.0: „v1.0.3705“
Rozhraní .NET Framework 1.1: „v1.1.4322“
Rozhraní .NET Framework 2.0, 3.0 a 3.5: „v2.0.50727“
.NET Framework 4 a novější verze: "v4.0"
Pokud chcete určit podporu více verzí rozhraní .NET Framework, můžete přidat několik <podporovaných elementůRuntime> uvedených v pořadí podle preference.
Následující tabulka ukazuje, jak nastavení konfiguračního souboru a nainstalované verze rozhraní .NET Framework na počítači určují, na které verzi se aplikace pro rozhraní .NET Framework 3.5 spustí. Příklady jsou specifické pro aplikaci rozhraní .NET Framework 3.5, ale můžete použít podobnou logiku pro cílovou aplikaci vytvořenou pomocí předchozích verzí rozhraní .NET Framework. Číslo verze rozhraní .NET Framework 2.0 (v2.0.50727) se používá k určení rozhraní .NET Framework 3.5 v konfiguračním souboru aplikace.
Nastavení souboru app.config | V počítači s nainstalovanou verzí 3.5 | Na počítači s nainstalovanými verzemi 3.5 a 4 nebo novějšími verzemi | Na počítači s nainstalovanou verzí 4 nebo novější |
---|---|---|---|
Nic | Spustí se na 3.5 | Spustí se na 3.5 | Zobrazí se chybová zpráva, která vyzve uživatele k instalaci správné verze* |
<supportedRuntime version="v2.0.50727"/> |
Spustí se na 3.5 | Spustí se na 3.5 | Zobrazí se chybová zpráva, která vyzve uživatele k instalaci správné verze* |
<supportedRuntime version="v2.0.50727"/> <supportedRuntime version="v4.0"/> |
Spustí se na 3.5 | Spustí se na 3.5 | Běží na 4 nebo novějších verzích. |
<supportedRuntime version="v4.0"/> <supportedRuntime version="v2.0.50727"/> |
Spustí se na 3.5 | Běží na 4 nebo novějších verzích. | Běží na 4 nebo novějších verzích. |
<supportedRuntime version="v4.0"/> |
Zobrazí se chybová zpráva, která vyzve uživatele k instalaci správné verze* | Běží na 4 nebo novějších verzích. | Běží na 4 nebo novějších verzích. |
* Další informace o této chybové zprávě a způsoby, jak se jí vyhnout, naleznete v tématu Chyby inicializace rozhraní .NET Framework: Správa uživatelského prostředí.