Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
.NET Framework a changé au fil du temps. Chaque nouvelle version a ajouté de nouveaux types et membres de type qui ont fourni de nouvelles fonctionnalités. Les types existants et leurs membres ont également changé au fil du temps. Par exemple, certains types sont devenus moins importants que la technologie qu’ils prenaient en charge a été remplacée par une nouvelle technologie, et certaines méthodes ont été remplacées par des méthodes plus récentes qui sont supérieures d’une certaine manière.
.NET Framework et le Common Language Runtime s’efforcent de prendre en charge la compatibilité descendante (ce qui permet aux applications développées avec une version de .NET Framework de s’exécuter sur la prochaine version de .NET Framework). Cela rend difficile la suppression d’un type ou d’un membre de type. Au lieu de cela, .NET Framework a indiqué qu’un type ou un membre de type ne doit plus être utilisé en le marquant comme obsolète ou déconseillé. En rendant obsolète un type ou un membre, les développeurs étaient conscients qu'ils finiraient par disparaître et qu'ils avaient le temps de réagir à leur suppression. Toutefois, le code existant qui utilise le type ou le membre a continué à s’exécuter dans la nouvelle version de .NET.
Remarque
Dans .NET (Core), l’obsolement d’une API ne signifie pas nécessairement que l’API sera supprimée. Pour plus d’informations, consultez la suppression d’API dans .NET.
Attribut ObsoleteAttribute
.NET Framework indique qu’un type ou un membre de type est obsolète en le marquant avec l’attribut ObsoleteAttribute . L’application de l’attribut à un type ou à un membre indique que le type ou le membre sera supprimé dans une version ultérieure sans interrompre le code compilé qui utilise ce membre.
En plus d’indiquer qu’un type ou un membre de type est obsolète, ObsoleteAttribute définit la façon dont le compilateur gère le code source qui inclut ce type ou ce membre. Le compilateur peut compiler le code, mais émettre un message d’avertissement, ou il peut traiter l’utilisation du type ou du membre comme une erreur. Dans le premier cas, le code peut être compilé avec succès, mais un message d’avertissement indique que le type ou le membre est obsolète. Dans le deuxième cas, la compilation échoue.
Même si la compilation génère une erreur au lieu d’un message d’avertissement, ObsoleteAttribute n’affecte pas le comportement d’exécution. Autrement dit, les applications qui utilisent les types ou les membres et qui ont été compilées avec succès s'exécuteront toujours avec succès. Seule la tentative de recompilation d’une application qui utilise le type ou le membre échoue.
Comment gérer des types et des membres obsolètes
Lorsque vous mettez à niveau et recompilez du code existant, l’utilisation d’un type ou d’un membre obsolète qui génère un avertissement du compilateur dans votre application est acceptable. Toutefois, vous devez passer en revue le message d’avertissement du compilateur pour déterminer si vous devez modifier votre code d’application. Si le message ne pointe pas vers une alternative appropriée, vous devez effectuer l’une des opérations suivantes :
Modifiez votre code en supprimant l’utilisation du type ou du membre, si possible.
- ou -
Passez en revue la documentation de ce domaine technologique pour déterminer comment répondre à la dépréciation.
Vous pouvez choisir de ne pas recompiler le code existant par rapport à une version ultérieure de .NET Framework. Au lieu de cela, vous pouvez spécifier la version de .NET Framework sur laquelle votre code compilé existant s’exécute. Par exemple, supposons que vous ayez une application nommée app1.exe compilée sur .NET Framework 3.5, mais que vous souhaitez que l’application s’exécute sur .NET Framework 4.5. Cela nécessite les étapes suivantes :
Créez un fichier de configuration pour votre exécutable principal et nommez-le appName.exe.config, où appName est le nom de l’exécutable de l’application. Pour l’application nommée app1.exe dans notre exemple, vous allez créer un fichier de configuration nommé app1.exe.config.
Ajoutez ce qui suit au fichier de configuration.
<configuration> <startup> <supportedRuntime version="v4.0" /> </startup> </configuration>
Pour cibler une version spécifique de .NET Framework, affectez l’une des valeurs de chaîne suivantes à l’attribut version :
| Version du .NET Framework |
version chaîne |
|---|---|
| 4.8 (y compris 4.8.1) | v4.0 |
| 4.7 (y compris 4.7.1 et 4.7.2) | v4.0 |
| 4.6 (y compris 4.6.1 et 4.6.2) | v4.0 |
| 4.5 (y compris 4.5.1 et 4.5.2) | v4.0 |
| 4 | v4.0 |
| 3,5 | v2.0.50727 |
| 2.0 | v2.0.50727 |
| 1.1 | v1.1.4322 |
| 1,0 | v1.0.3705 |
API obsolètes pour .NET Framework 4.5 et versions ultérieures
API obsolètes pour les versions précédentes
- Types obsolètes dans .NET Framework 4
- Membres obsolètes dans .NET Framework 4
- Liste des éléments obsolètes du .NET Framework 3.5
- Liste des éléments obsolètes du .NET Framework 2.0