Sdílet prostřednictvím


Co je zastaralé v rozhraní .NET Framework

Rozhraní .NET Framework se v průběhu času mění. Každá nová verze přidává nové typy a členy typu, kteří poskytují nové funkce. Existující typy a jejich členy se také časem mění. Například některé typy se stanou méně důležitými když technologie, kterou podporují je nahrazena novou technologií a některé metody jsou nahrazeny novějšími metodami, které jsou vhodnější nebo funkčnější.

Rozhraní .NET Framework a modul CLR (Common Language Runtime) usilují o podporu zpětné kompatibility (povolení aplikací, které byly vyvinuty pomocí jedné verze rozhraní .NET Framework a provozovány jsou v jiné verzi rozhraní .NET Framework). Toto ztěžuje jednoduché odebrání typu nebo člena typu. Místo toho rozhraní .NET Framework označuje typ nebo člen typu, který by již neměl být používán jako neplatný nebo zastaralý. Zavrhnutí typu nebo člena typu zahrnuje jeho označení tak, aby vývojáři si byli vědomi toho, že bude odstraněn a měli čas reagovat na jeho odstranění. Nicméně, existující kód, který používá tento typ nebo člen typu pokračuje v běhu v nové verzi rozhraní .NET Framework.

PoznámkaPoznámka

Pojmy neplatný a zastaralý mají stejný význam při aplikování na typy a členy rozhraní .NET Framework.

Atribut ObsoleteAttribute

Rozhraní .NET Framework označuje, že typ nebo člen typu je neplatný jeho označením pomocí atributu ObsoleteAttribute. Použití atributu na typ nebo člen označuje, že typ nebo člen bude odebrán v některé budoucí verzi rozhraní .NET Framework bez narušení zkompilovaného kódu, který používá daný člen.

Kromě označení typu nebo člena zastaralým, ObsoleteAttribute definuje jak kompilátor zpracovává zdrojový kód, který zahrnuje tento typ nebo člen. Kompilátor může kompilovat kód, ale také posílat zprávu upozornění nebo může považovat použití typu nebo členu za chybu. V prvním případě může být kód úspěšně zkompilován, ale zpráva upozornění označuje, že typ nebo člen je zastaralý. V druhém případě kompilace selže.

I v případě, že kompilace vytvoří chybu namísto zprávy upozornění, ObsoleteAttribute neovlivňuje chování za běhu. To znamená, že aplikace které používají typ nebo člen a byly úspěšně zkompilovány, poběží vždy úspěšně. Pouze pokus znovu zkompilovat aplikaci, která používá tento typ nebo člen se nezdaří.

Jak zpracovat neplatné typy a členy

Když aktualizujete a znovu zkompilujete existující kód, který používá neplatný typ nebo člen, tak vytvoření upozornění kompilátoru ve vaší aplikaci, je zcela přijatelné. Nicméně, měli byste si přečíst zprávu upozornění kompilátoru a rozhodnout se, zda byste měli změnit váš kód. Pokud zpráva neodkazuje na vhodnou alternativu, měli byste udělat některou z následujících akcí:

  • Pokud je to možné, změňte váš kód tak, že odstraníte použití tohoto neplatného typu nebo člena.

    -nebo-

  • Přezkoumejte dokumentaci k této technologické oblasti, aby jste zjistili, jak reagovat na zavrhnutí.

Můžete se rozhodnout nekompilovat existující kód proti novější verzi rozhraní .NET Framework. Místo toho lze určit verzi rozhraní .NET Framework, proti které stávající zkompilovaný kód běží. Předpokládejme například, že máte aplikaci s názvem app1.exe, která byla zkompilována proti .NET Framework 3.5, ale vy ji chcete spustit v .NET Framework 4. To vyžaduje následující kroky:

  1. Vytvořte konfigurační soubor pro váš hlavní spustitelný soubor a pojmenujte ho AppName.exe.config, kde AppName je název spustitelného souboru aplikace. Pro aplikaci s názvem app1.exe v našem příkladu byste měli vytvořit konfigurační soubor s názvem app1.exe.config.

  2. Do konfiguračního souboru přidejte následující:

    <configuration>
       <startup> 
          <supportedRuntime version="v4.0" />
       </startup>
    </configuration>
    

V následující tabulce jsou uvedeny hodnoty řetězce, které můžete přiřadit k atributu version pro zaměření na určitou verzi rozhraní .NET Framework.

Verze rozhraní .NET Framework

řetězec version

4

v4.0

3.5

v2.0.50727

2.0

v2.0.50727

1.1

v1.1.4322

1.0

v1.0.3705

Zastaralé seznamy pro rozhraní .NET Framework 4

Zastaralé typy

Zastaralé členy

Zastaralé seznamy pro předchozí verze

Zastaralý seznam rozhraní .NET Framework 3.5

Zastaralý seznam rozhraní .NET Framework 2.0

Viz také

Odkaz

<supportedruntime>element