Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Si va a migrar una aplicación a .NET 8, es posible que le afecten los cambios importantes que se enumeran aquí. Los cambios se agrupan por área tecnológica, como ASP.NET Core o Windows Forms.
En este artículo se clasifica cada cambio de ruptura como incompatible con el binario, incompatible con el origen o cambio de comportamiento:
Binario incompatible: cuando se ejecuta en el nuevo entorno de ejecución o componente, los binarios existentes pueden sufrir un cambio disruptivo en el comportamiento, como fallar al cargar o ejecutar, y, de ser así, requerir la recompilación.
No compatible con el origen: cuando se vuelve a compilar con el SDK o componente nuevos o para tener como destino el entorno de ejecución nuevo, el código fuente existente puede requerir cambios de origen para compilarse correctamente.
Cambio de comportamiento : el código y los archivos binarios existentes pueden comportarse de forma diferente en tiempo de ejecución. Si el nuevo comportamiento no es deseable, el código existente debe actualizarse y volver a compilarse.
ASP.NET Core
Consulte Cambios importantes en ASP.NET Core 8.
Contenedores
| Título | Tipo de cambio |
|---|---|
| paquete "ca-certificates" eliminado de las imágenes de Alpine | Binario incompatible |
| Imágenes de contenedor de Debian actualizadas a Debian 12 | Cambio binario incompatible/cambio de comportamiento |
| El puerto de ASP.NET Core predeterminado ha cambiado a 8080 | Cambio de comportamiento |
| Paquete Kerberos eliminado de las imágenes de Alpine y Debian | Binario incompatible |
| paquete "libintl" quitado de las imágenes de Alpine | Cambio de comportamiento |
| Las etiquetas de contenedor multiplataforma son solo Linux | Cambio de comportamiento |
| Nuevo usuario "app" en imágenes de Linux | Cambio de comportamiento |
Bibliotecas de Core .NET
Criptografía
| Título | Tipo de cambio | Introducido |
|---|---|---|
| Tamaño de etiqueta de autenticación de AesGcm en macOS | Cambio de comportamiento | Versión preliminar 1 |
| RSA.EncryptValue y RSA.DecryptValue están obsoletos | No compatible con el origen | Versión preliminar 1 |
Implementación
| Título | Tipo de cambio |
|---|---|
| Determinación de los recursos específicos de RID por el host | Cambio incompatible binario/comportamental |
| .NET Monitor solo incluye imágenes sin distribución | Cambio de comportamiento |
| Los paquetes .NET para openSUSE y SLES dependen de OpenSSL 3.x | Cambio de comportamiento |
| StripSymbols tiene true como valor predeterminado | Cambio de comportamiento |
Entity Framework Core (Marco de trabajo de entidades núcleo)
Consulte Cambios importantes en EF Core 8.
Extensiones
Globalización
| Título | Tipo de cambio |
|---|---|
| Los convertidores de fecha y hora respetan el argumento de cultura | Cambio de comportamiento |
| El valor predeterminado de TwoDigitYearMax es 2049 | Cambio de comportamiento |
Interop
| Título | Tipo de cambio |
|---|---|
| CreateObjectFlags.Unwrap solo desencapsula en la instancia de destino | Cambio de comportamiento |
| Los marshalizadores personalizados requieren miembros adicionales | No compatible con el origen |
| Se ha quitado la API IDispatchImplAttribute | Binario incompatible |
| Se quitó el constructor predeterminado público implícito JSFunctionBinding | Binario incompatible |
| Los tipos SafeHandle deben tener un constructor público | No compatible con el origen |
La resolución de biblioteca nativa de Linux ya no usa netcoredeps |
Cambio de comportamiento |
Redes
| Título | Tipo de cambio |
|---|---|
| SendFile produce una excepción NotSupportedException en sockets sin conexión | Cambio de comportamiento |
Se compara la información de usuario en los URI mailto: |
Cambio de comportamiento |
Reflexión
| Título | Tipo de cambio |
|---|---|
| IntPtr ya no se usa para los tipos de puntero de función | Cambio de comportamiento |
SDK (Sistema de traducción
Serialización
| Título | Tipo de cambio |
|---|---|
| BinaryFormatter deshabilitado para la mayoría de los proyectos | Cambio de comportamiento |
| Los proyectos PublishedTrimmed fallan en la serialización basada en la reflexión | Cambio de comportamiento |
| El deserializador basado en la reflexión resuelve los metadatos diligentemente | Cambio de comportamiento |
Windows Forms
| Título | Tipo de cambio |
|---|---|
| Certificados comprobados antes de cargar imágenes remotas en PictureBox | Cambio de comportamiento |
| DateTimePicker.Text es una cadena vacía | Cambio de comportamiento |
| Se ha quitado DefaultValueAttribute de algunas propiedades | Cambio de comportamiento |
| El constructor ExceptionCollection lanza "ArgumentException" | Cambio de comportamiento |
| Escalado de formularios según AutoScaleMode | Cambio de comportamiento |
| El valor predeterminado de ImageList.ColorDepth es Depth32Bit | Cambio de comportamiento |
| System.Windows.Extensions no hace referencia a System.Drawing.Common | No compatible con el origen |
| TableLayoutStyleCollection lanza ArgumentException | Cambio de comportamiento |
| Los formularios de nivel superior ajustan el tamaño mínimo y máximo según los PPP | Cambio de comportamiento |
| La desactualización de WFDEV002 ahora se considera un error | No compatible con el origen |