Leer en inglés

Compartir a través de


Cambios importantes en .NET 8

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 importante como no compatible con el binario, no compatible con el origen o cambio importante:

  • No compatible con el binario: cuando se ejecuta en el entorno de ejecución o componente nuevos, los archivos binarios existentes pueden enfrentarse a un cambio importante en el comportamiento, como un error 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 funcionamiento: 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

Contenedores

Bibliotecas de Core .NET

Título Tipo de cambio
Nombre de la operación de actividad cuando es NULL Cambio de comportamiento
Comportamiento AnonymousPipeServerStream.Dispose Cambio de comportamiento
Obsolescencias de API con identificadores de diagnóstico personalizados No compatible con el origen
Asignación de barra diagonal inversa en rutas de acceso de archivos Unix Cambio de comportamiento
Los métodos Base64.DecodeFromUtf8 omiten el espacio en blanco Cambio de comportamiento
Eliminado el soporte para tipos enum respaldados por booleanos Cambio de comportamiento
El formato Complex.ToString cambió a <a; b> Cambio de comportamiento
enumeración de ruta de acceso de directorio actual de Drive Cambio de comportamiento
El método Enumerable.Sum produce una nueva excepción OverflowException para algunas entradas Cambio de comportamiento
FileStream escribe cuando se cierra la canalización Cambio de comportamiento
FindSystemTimeZoneById no devuelve un objeto nuevo Cambio de comportamiento
GC.GetGeneration podría devolver Int32.MaxValue Cambio de comportamiento
Comportamiento de GetFolderPath en Unix Cambio de comportamiento
GetSystemVersion ya no devuelve imageRuntimeVersion Cambio de comportamiento
Anotaciones que admiten un valor NULL en ITypeDescriptorContext No compatible con el origen
Console.ReadKey heredado quitado Cambio de comportamiento
Los creadores de métodos generan parámetros con HasDefaultValue establecido en falso Cambio de comportamiento
ProcessStartInfo.WindowStyle se respeta cuando UseShellExecute es false Cambio de comportamiento
RuntimeIdentifier devuelve la plataforma para la que se creó en tiempo de ejecución Cambio de comportamiento
Type.GetType produce una excepción para todos los tipos de elementos no válidos Cambio de comportamiento

Criptografía

Título Tipo de cambio Inclusión
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 de comportamiento o incompatible binario
.NET Monitor solo incluye imágenes sin distribución Cambio de comportamiento
StripSymbols tiene true como valor predeterminado Cambio de comportamiento

Entity Framework Core

Cambios importantes en EF Core 8

Extensiones

Globalización

Interop

Redes

Reflexión

Título Tipo de cambio
IntPtr ya no se usa para los tipos de puntero de función Cambio de comportamiento

SDK

Título Tipo de cambio
La salida de la consola de la CLI usa UTF-8 Cambio de comportamiento / No compatible con el origen y el binario
Codificación de consola no UTF-8 tras finalizar la ejecución Cambio de comportamiento/Binario incompatible
El valor predeterminado de los contenedores es usar la etiqueta "latest" Cambio de comportamiento
"dotnet pack" usa la configuración Release Cambio de comportamiento / No compatible con el origen
"dotnet publish" usa la configuración Release Cambio de comportamiento / No compatible con el origen
Salida duplicada de -getItem, -getProperty y -getTargetResult Cambio de comportamiento
Ya no se agrega la directiva using implícita para System.Net.Http Cambio de comportamiento / No compatible con el origen
Eventos de compilación derivados personalizados de MSBuild en desuso Cambio de comportamiento
MSBuild respeta DOTNET_CLI_UI_LANGUAGE Cambio de comportamiento
Aplicaciones específicas del entorno de ejecución no independientes Origen o binario incompatible
La opción --arch no implica autocontenido Cambio de comportamiento
"dotnet restore" genera advertencias de vulnerabilidades de seguridad Cambio de comportamiento
El SDK usa un gráfico RID más pequeño Cambio de comportamiento / No compatible con el origen
Al establecer DebugSymbols en false, se deshabilita la generación de PDB Cambio de comportamiento
Source Link se ha incluido en el SDK de .NET No compatible con el origen
Es posible que no se use el recorte con .NET Standard o .NET Framework. Cambio de comportamiento
De forma predeterminada los paquetes no incluidos en la lista no se instalan para las herramientas de .NET Cambio de comportamiento
archivo .user importado en compilaciones externas Cambio de comportamiento
Requisitos de la versión para el SDK de .NET 8 No compatible con el origen

Serialización

Windows Forms

Consulte también