La compatibilidad es un objetivo importante de todas las versiones de .NET Framework. La compatibilidad garantiza que cada versión es aditiva, para que las versiones anteriores sigan funcionando. Por otro lado, los cambios en las funciones anteriores (por ejemplo para mejorar el rendimiento, abordar problemas de seguridad o corregir errores) pueden provocar problemas de compatibilidad en el código o las aplicaciones existentes que se ejecutan en una versión posterior.
Cada aplicación se destina a una versión específica de .NET Framework de esta forma:
Al definir una plataforma de destino en Visual Studio.
Al especificar la plataforma de destino en un archivo de proyecto.
Los problemas en tiempo de ejecución son los que aparecen cuando se coloca un nuevo runtime en un equipo y cambia el comportamiento de una aplicación. Al ejecutarse en una versión más reciente que la seleccionada como destino, .NET Framework usa un comportamiento anómalo para imitar la versión de destino anterior. La aplicación se ejecuta en la versión más reciente, pero actúa como si se ejecutara en la versión anterior. Muchos de los problemas de compatibilidad entre versiones de .NET Framework se mitigan a través de este peculiar modelo. Por ejemplo, si un binario se ha compilado para .NET Framework 4.0 pero se ejecuta en un equipo con .NET Framework 4.5 o posterior, se ejecuta en el modo de compatibilidad de .NET Framework 4.0. Esto significa que muchos de los cambios de la versión posterior no afectan al binario.
La versión de .NET Framework a la que se destina una aplicación se determina por la versión de destino del ensamblado de entrada para el dominio de aplicación en el que se ejecuta el código. Todos los ensamblados adicionales que se cargan en ese dominio de aplicación tienen como destino esa versión. Por ejemplo, en el caso de un archivo ejecutable, la versión de destino del archivo ejecutable es el modo de compatibilidad en el que se ejecutan todos los ensamblados de ese dominio de aplicación.
Cambios de redestinación
Los cambios de redestinación son los que surgen cuando se vuelve a compilar un ensamblado para destinarlo a una versión más reciente. Destinarlo a una versión más reciente significa que el ensamblado participa en las características nuevas así como en los problemas de compatibilidad potenciales de las características antiguas.
Principal
Cambio significativo que afecta a un gran número de aplicaciones o que requiere una modificación sustancial del código.
Minor
Un cambio que afecta a un pequeño número de aplicaciones o que requiere una leve modificación del código.
Caso avanzado
Cambio que afecta a aplicaciones de escenarios muy concretos que no son frecuentes.
Transparente
Cambio que no tiene ningún efecto apreciable en el programador o el usuario de la aplicación. No es necesario modificar la aplicación debido a este cambio.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
En este módulo, aprenderá cuándo, por qué y cómo modernizar una aplicación de ASP.NET Framework a ASP.NET Core utilizando el Asistente para actualización.
Una guía para migrar a versiones de .NET Framework más recientes que incluye recursos para las nuevas características y compatibilidad de aplicaciones.
Busque información sobre los problemas de compatibilidad de aplicaciones de los cambios en tiempo de ejecución que podrían afectar a la aplicación al migrar a .NET Framework 4.8.x.
Obtenga información sobre la compatibilidad entre las versiones de .NET Framework, incluida la compatibilidad con versiones anteriores y la ejecución en paralelo.
Obtenga información sobre los problemas de migración entre .NET Framework 3.5 Service Pack 1 y .NET Framework 4, incluidas las correcciones y los cambios para el cumplimiento de estándares y la seguridad.
Busque información sobre los problemas de compatibilidad de aplicaciones de los cambios de runtime que podrían afectar a la aplicación al migrar a .NET Framework 4.6.x.