Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
.NET Framework cambió con el tiempo. Cada nueva versión ha agregado nuevos tipos y miembros de tipo que proporcionan nueva funcionalidad. Los tipos existentes y sus miembros también cambiaron con el tiempo. Por ejemplo, algunos tipos se volvieron menos importantes, ya que la tecnología que admitían fue reemplazada por una nueva tecnología, y algunos métodos fueron reemplazados por métodos más recientes que son superiores de alguna manera.
.NET Framework y Common Language Runtime se esfuerzan por admitir la compatibilidad con versiones anteriores (lo que permite que las aplicaciones desarrolladas con una versión de .NET Framework se ejecuten en la siguiente versión de .NET Framework). Esto hace más difícil quitar simplemente un tipo o un miembro de tipo. En su lugar, .NET Framework indicó que un tipo o un miembro de tipo ya no se deben usar marcando como obsoletos o en desuso. Al declarar obsoleto un tipo o un miembro, los desarrolladores eran conscientes de que iba a desaparecer y tenían tiempo para responder a su eliminación. Sin embargo, el código existente que usa el tipo o miembro continuó ejecutándose en la nueva versión de .NET.
Nota:
En .NET (Core), la eliminación de una API no significa necesariamente que se quite la API. Para más información, consulte Eliminación de API en .NET.
El atributo ObsoleteAttribute
.NET Framework indica que un tipo o miembro de tipo está obsoleto marcandolo con el ObsoleteAttribute atributo . La aplicación del atributo a un tipo o miembro indica que el tipo o miembro se quitará en alguna versión futura sin interrumpir el código compilado que usa ese miembro.
Además de indicar que un tipo o un miembro de tipo está obsoleto, ObsoleteAttribute define cómo controla el compilador el código fuente que incluye ese tipo o miembro. El compilador puede compilar el código, pero emitir un mensaje de advertencia, o puede tratar el uso del tipo o miembro como un error. En el primer caso, el código puede compilarse correctamente, pero un mensaje de advertencia indica que el tipo o miembro está obsoleto. En el segundo caso, se produce un error en la compilación.
Incluso si la compilación produce un error en lugar de un mensaje de advertencia, ObsoleteAttribute no afecta al comportamiento en tiempo de ejecución. Es decir, las aplicaciones que usan el tipo o el miembro y que se han compilado correctamente siempre se ejecutarán correctamente. Solo falla el intento de volver a compilar una aplicación que usa el tipo o el miembro.
Cómo manejar tipos y miembros obsoletos
Al actualizar y volver a compilar código existente, el uso de un tipo o miembro obsoleto que genera una advertencia del compilador en la aplicación es aceptable. Sin embargo, debe revisar el mensaje de advertencia del compilador para determinar si debe cambiar el código de la aplicación. Si el mensaje no apunta a una alternativa adecuada, debe hacer una de las siguientes acciones:
Cambie su código quitando el uso del tipo o miembro, si es posible.
-o-
Revise la documentación de esta área tecnológica para determinar cómo responder a la obsolescencia.
Puede optar por no volver a compilar el código existente en una versión posterior de .NET Framework. En su lugar, puede especificar la versión de .NET Framework con la que se ejecuta el código compilado existente. Por ejemplo, supongamos que tiene una aplicación denominada app1.exe que se compiló en .NET Framework 3.5, pero quiere que la aplicación se ejecute en .NET Framework 4.5. Esto requiere los pasos siguientes:
Cree un archivo de configuración para el archivo ejecutable principal y asígnele el nombre appName.exe.config, donde appName es el nombre del ejecutable de la aplicación. Para la aplicación denominada app1.exe en nuestro ejemplo, crearía un archivo de configuración denominado app1.exe.config.
Agregue lo siguiente al archivo de configuración.
<configuration> <startup> <supportedRuntime version="v4.0" /> </startup> </configuration>
Para tener como destino una versión específica de .NET Framework, asigne uno de los siguientes valores de cadena al version atributo :
| Versión de .NET Framework |
version cuerda |
|---|---|
| 4.8 (incluido 4.8.1) | v4.0 |
| 4.7 (incluidos 4.7.1 y 4.7.2) | v4.0 |
| 4.6 (incluido 4.6.1 y 4.6.2) | v4.0 |
| 4.5 (incluido 4.5.1 y 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 obsoletas para .NET Framework 4.5 y versiones posteriores
API obsoletas para versiones anteriores
- Tipos obsoletos en .NET Framework 4
- Miembros obsoletos en .NET Framework 4
- Lista obsoleta de .NET Framework 3.5
- Lista obsoleta de .NET Framework 2.0