Sdílet prostřednictvím


Migrace z rozhraní .NET Framework 1.1

Windows 7 a novější verze operačního systému Windows nepodporují rozhraní .NET Framework 1.1. V důsledku toho se aplikace, které cílí na rozhraní .NET Framework 1.1, nebudou spouštět bez úprav ve verzích operačního systému Windows 7 nebo novější. Toto téma popisuje kroky potřebné ke spuštění aplikace, která cílí na rozhraní .NET Framework 1.1 v systému Windows 7 a novějších verzích operačního systému Windows. Další informace o rozhraní .NET Framework 1.1 a Windows 8 naleznete v tématu Spouštění aplikací .NET Framework 1.1 ve Windows 8 a novějších verzích.

Retarget nebo recompile

Existují dva způsoby, jak získat aplikaci zkompilovanou pomocí rozhraní .NET Framework 1.1 pro spuštění ve Windows 7 nebo novějším operačním systému Windows:

  • Nasměrujte aplikaci tak, aby běžela v rozhraní .NET Framework 4 a novějších verzích. Změna cílení vyžaduje, abyste do konfiguračního souboru aplikace přidali <podporovaný elementRuntime> , který umožňuje spuštění v rozhraní .NET Framework 4 a novějších verzích. Takový konfigurační soubor má následující formu:

    <configuration>
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • Překompilujte aplikaci pomocí kompilátoru, který cílí na rozhraní .NET Framework 4 nebo novější verzi. Pokud jste původně k vývoji a kompilaci řešení použili Visual Studio 2003, můžete řešení otevřít v sadě Visual Studio 2010 (a případně i novějších verzích) a pomocí dialogového okna Kompatibilita projektu převést řešení a soubory projektu z formátů používaných sadou Visual Studio 2003 do formátu Microsoft Build Engine (MSBuild).

Bez ohledu na to, jestli dáváte přednost rekompilování nebo změně cílení aplikace, musíte určit, zda je vaše aplikace ovlivněna všemi změnami zavedenými v novějších verzích rozhraní .NET Framework. Tyto změny mají dva druhy:

  • Rozbíjející změny, ke kterým došlo mezi rozhraním .NET Framework 1.1 a novějšími verzemi rozhraní .NET Framework.

  • Typy a členy typů, které byly označeny jako zastaralé nebo zastaralé mezi rozhraním .NET Framework 1.1 a novějšími verzemi rozhraní .NET Framework.

Bez ohledu na to, jestli aplikaci retargetujete nebo rekompilujete, měli byste zkontrolovat zásadní změny i zastaralé typy a členy pro každou verzi rozhraní .NET Framework, která byla vydána po rozhraní .NET Framework 1.1.

Změny způsobující chyby

Když dojde k zásadní změně v závislosti na konkrétní změně, může být alternativní řešení dostupné pro retargetované i rekompilované aplikace. V některých případech můžete do elementu runtime> konfiguračního souboru aplikace přidat podřízený prvek<, který obnoví předchozí chování. Například následující konfigurační soubor obnoví chování řazení a porovnání řetězců použité v rozhraní .NET Framework 1.1 a dá se použít buď s retargetovanou nebo rekompilovanou aplikací.

<configuration>
   <runtime>
      <CompatSortNLSVersion enabled="4096"/>
   </runtime>
</configuration>

V některých případech ale možná budete muset upravit zdrojový kód a aplikaci znovu zkompilovat.

Pokud chcete posoudit dopad možných zásadních změn ve vaší aplikaci, musíte zkontrolovat následující seznamy změn:

Zastaralé typy a členy

Dopad zastaralých typů a členů se pro retargetované aplikace a rekompilované aplikace poněkud liší. Použití zastaralých typů a členů nebude mít vliv na retargetovanou aplikaci, pokud nebyl ze sestavení fyzicky odebrán zastaralý typ nebo člen. Rekompiluje aplikaci, která používá zastaralé typy nebo členy, obvykle generuje upozornění kompilátoru místo chyby kompilátoru. V některých případech však vytvoří chybu kompilátoru a kód, který používá zastaralý typ nebo člen, se úspěšně nekompiluje. V takovém případě musíte před opětovnou kompilací aplikace přepsat zdrojový kód, který volá zastaralý typ nebo člen. Další informace o zastaralýchtypech

Pokud chcete posoudit dopad typů a členů, které byly od vydání rozhraní .NET Framework 2.0 SP1 zastaralé, přečtěte si téma Co je zastaralé v knihovně tříd. Projděte si seznamy zastaralých typů a členů rozhraní .NET Framework 2.0 SP1, .NET Framework 3.5 a .NET Framework 4.