Udostępnij przez


Przestarzałe elementy w bibliotece klas platformy .NET Framework

Program .NET Framework zmienił się wraz z upływem czasu. Każda nowa wersja dodała nowe typy i składowe typu, które udostępniały nowe funkcje. Istniejące typy i ich elementy również zmieniły się wraz z upływem czasu. Na przykład niektóre typy stały się mniej ważne, ponieważ obsługiwana technologia została zastąpiona przez nową technologię, a niektóre metody zostały zastąpione przez nowsze metody, które są lepsze w jakiś sposób.

.NET Framework i środowisko uruchomieniowe języka wspólnego dążą do zapewnienia zgodności z poprzednimi wersjami (dzięki czemu aplikacje opracowane przy użyciu jednej wersji programu .NET Framework będą uruchamiane w następnej wersji programu .NET Framework). Utrudnia to po prostu usunięcie typu lub członka typu. Zamiast tego program .NET Framework wskazał, że typ lub element członkowski typu nie powinien być już używany przez oznaczenie go jako przestarzałe lub przestarzałe. Uznając typ lub element za przestarzały, deweloperzy są świadomi, że zniknie, i mieli czas, aby reagować na jego usunięcie. Jednak istniejący kod, który używa typu lub członka, nadal działa w nowej wersji .NET.

Uwaga / Notatka

W programie .NET (Core) obsoletowanie interfejsu API niekoniecznie oznacza, że interfejs API zostanie usunięty. Aby uzyskać więcej informacji, zobacz Usuwanie interfejsu API na platformie .NET.

Atrybut "ObsoleteAttribute"

Program .NET Framework wskazuje, że typ lub element członkowski typu jest przestarzały, oznaczając go atrybutem ObsoleteAttribute . Zastosowanie atrybutu do typu lub elementu członkowskiego wskazuje, że typ lub element członkowski zostanie usunięty w jakiejś przyszłej wersji bez przerywania skompilowanego kodu, który używa tego elementu członkowskiego.

Oprócz wskazania, że typ lub element członkowski typu jest przestarzały, definiuje sposób obsługi ObsoleteAttribute kodu źródłowego przez kompilator, który zawiera ten typ lub element członkowski. Kompilator może skompilować kod, ale emituje komunikat ostrzegawczy lub może traktować użycie typu lub elementu członkowskiego jako błąd. W pierwszym przypadku kod może pomyślnie się skompilować, ale komunikat ostrzegawczy wskazuje, że typ lub składnik jest oznaczony jako przestarzały. W drugim przypadku kompilacja kończy się niepowodzeniem.

Nawet jeśli kompilacja generuje błąd zamiast komunikatu ostrzegawczego, ObsoleteAttribute nie ma wpływu na zachowanie środowiska uruchomieniowego. Oznacza to, że aplikacje używające typu lub elementu członkowskiego, które zostały pomyślnie skompilowane, zawsze będą działać pomyślnie. Próba ponownego skompilowania aplikacji korzystającej z typu lub członka kończy się niepowodzeniem.

Jak obsługiwać przestarzałe typy i członków

Podczas uaktualniania i ponownego kompilowania istniejącego kodu użycie przestarzałego typu lub elementu członkowskiego tworzącego ostrzeżenie kompilatora w aplikacji jest dopuszczalne. Należy jednak przejrzeć komunikat ostrzegawczy kompilatora, aby określić, czy należy zmienić kod aplikacji. Jeśli komunikat nie wskazuje odpowiedniej alternatywy, należy wykonać jedną z następujących czynności:

  • Zmień kod, usuwając użycie typu lub członka, jeśli to możliwe.

    — lub —

  • Zapoznaj się z dokumentacją dotyczącą tego obszaru technologii, aby określić sposób reagowania na wycofanie.

Możesz zrezygnować z ponownego kompilowania istniejącego kodu względem nowszej wersji programu .NET Framework. Zamiast tego możesz określić wersję programu .NET Framework, dla której jest uruchamiany istniejący skompilowany kod. Załóżmy na przykład, że masz aplikację o nazwie app1.exe , która została skompilowana na platformie .NET Framework 3.5, ale chcesz, aby aplikacja była uruchamiana na platformie .NET Framework 4.5. Wymaga to wykonania następujących czynności:

  1. Utwórz plik konfiguracji głównego pliku wykonywalnego i nadaj mu nazwę appName.exe.config, gdzie appName jest nazwą pliku wykonywalnego aplikacji. W przypadku aplikacji o nazwie app1.exe w naszym przykładzie należy utworzyć plik konfiguracji o nazwie app1.exe.config.

  2. Dodaj następujący kod do pliku konfiguracji.

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

Aby zakierować określoną wersję programu .NET Framework, przypisz do atrybutu version jedną z następujących wartości ciągu:

Wersja programu .NET Framework ciąg version
4.8 (w tym 4.8.1) Wersja 4.0
4.7 (w tym 4.7.1 i 4.7.2) Wersja 4.0
4.6 (w tym 4.6.1 i 4.6.2) Wersja 4.0
4.5 (w tym 4.5.1 i 4.5.2) Wersja 4.0
4 Wersja 4.0
3.5 Wersja 2.0.50727
2.0 Wersja 2.0.50727
1.1 wersja 1.1.4322
1.0 wersja 1.0.3705

Przestarzałe interfejsy API dla programu .NET Framework w wersji 4.5 lub nowszej

Przestarzałe interfejsy API dla poprzednich wersji

Zobacz także