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.
Si va a migrar una aplicación a .NET 10, 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:
Binario incompatible - Cuando se ejecuta en el nuevo entorno de ejecución o componente, los binarios existentes podrían experimentar un cambio significativo en el comportamiento, como fallos al cargar o ejecutar, y, si es así, requieren recompilación.
Origen incompatible : cuando se vuelve a compilar con el nuevo SDK o componente o para tener como destino el nuevo entorno de ejecución, 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.
Nota:
Este artículo sigue en desarrollo. No es una lista completa de los cambios importantes en .NET 10.
ASP.NET Core
| Título | Tipo de cambio |
|---|---|
| Se han deshabilitado los redireccionamientos de inicio de sesión de cookies para los puntos de conexión de API conocidos | Cambio de comportamiento |
| Desuso del método de extensión WithOpenApi | No compatible con el origen |
| Diagnósticos de excepciones suprimidos cuando TryHandleAsync devuelve true | Cambio de comportamiento |
| IActionContextAccessor y ActionContextAccessor están obsoletos | Origen incompatible/cambio de comportamiento |
| La propiedad IncludeOpenAPIAnalyzers y los analizadores de API de MVC están en desuso | No compatible con el origen |
| IPNetwork y ForwardedHeadersOptions.KnownNetworks están obsoletos | No compatible con el origen |
| Paquete Microsoft.Extensions.ApiDescription.Client en desuso | No compatible con el origen |
| Razor La compilación en tiempo de ejecución está obsoleta | No compatible con el origen |
| WebHostBuilder, IWebHost y WebHost están obsoletos | No compatible con el origen |
Contenedores
| Título | Tipo de cambio |
|---|---|
| Las imágenes de .NET predeterminadas usan Ubuntu | Cambio de comportamiento |
Bibliotecas de Core .NET
Criptografía
| Título | Tipo de cambio |
|---|---|
| CompositeMLDsa se actualizó a draft-08 | Cambio de comportamiento |
| CoseSigner.Key puede ser nulo | Cambio de comportamiento/Incompatible con origen |
| Se ha cambiado el nombre de los miembros de MLDsa y SlhDsa "SecretKey". | No compatible con el origen |
| No se admiten primitivos criptográficos openSSL en macOS | Cambio de comportamiento |
| OpenSSL 1.1.1 o posterior requerido en Unix | Cambio de comportamiento |
| La validación de X500DistinguishedName es más estricta | Cambio de comportamiento |
| Los parámetros de clave PublicKey y X509Certificate pueden ser NULL | Cambio de comportamiento/Incompatible con origen |
| Se ha cambiado el nombre de la variable de entorno a DOTNET_OPENSSL_VERSION_OVERRIDE | Cambio de comportamiento |
Entity Framework Core
Cambios importantes en EF Core 10
Extensiones
| Título | Tipo de cambio |
|---|---|
| BackgroundService ejecuta todo ExecuteAsync como una tarea | Cambio de comportamiento |
| Corrección de problemas en GetKeyedService() y GetKeyedServices() con AnyKey | Cambio de comportamiento |
| Valores NULL conservados en la configuración | Cambio de comportamiento |
| El mensaje ya no está duplicado en la salida del registro de consola | Cambio de comportamiento |
| ProviderAliasAttribute ha sido movido al ensamblado Microsoft.Extensions.Logging.Abstractions | No compatible con el origen |
| Se quitó la anotación DynamicallyAccessedMembers del código trim-unsafe Microsoft.Extensions.Configuration | Incompatibilidad binaria |
Globalización
| Título | Tipo de cambio |
|---|---|
| Se ha cambiado el nombre de la variable de entorno a DOTNET_ICU_VERSION_OVERRIDE | Cambio de comportamiento |
Herramienta de instalación
| Título | Tipo de cambio |
|---|---|
| dotnet.acquire API para VS Code ya no siempre descarga la versión más reciente. | Cambio de comportamiento |
Interop
| Título | Tipo de cambio |
|---|---|
| Error al convertir el objeto COM IDispatchEx en IReflect | Cambio de comportamiento |
| Las aplicaciones de un solo archivo ya no buscan bibliotecas nativas en el directorio ejecutable | Cambio de comportamiento |
| Especificando DllImportSearchPath.AssemblyDirectory solo busca en el directorio del ensamblado | Cambio de comportamiento |
Redes
| Título | Tipo de cambio |
|---|---|
| Compatibilidad con HTTP/3 deshabilitada de forma predeterminada con PublishTrimmed | No compatible con el origen |
| Transmisión de respuestas HTTP habilitada por defecto en los clientes HTTP del navegador | Cambio de comportamiento |
Uri límites de longitud quitados |
Cambio de comportamiento |
Reflexión
| Título | Tipo de cambio | Versión introducida |
|---|---|---|
| Anotaciones más restringidas en InvokeMember/FindMembers/DeclaredMembers | Comportamiento/origen incompatible |
SDK y MSBuild
Serialización
| Título | Tipo de cambio |
|---|---|
| System.Text.Json comprueba si hay conflictos de nombres de propiedad | Cambio de comportamiento |
| XmlSerializer ya no omite las propiedades marcadas con ObsoleteAttribute | Cambio de comportamiento |
Windows Forms
| Título | Tipo de cambio |
|---|---|
| Obsolescencias de API | No compatible con el origen |
| Las aplicaciones que hacen referencia tanto a WPF como a WinForms deben desambiguar los tipos MenuItem y ContextMenu | No compatible con el origen |
| Se ha cambiado el nombre del parámetro en HtmlElement.InsertAdjacentElement | No compatible con el origen |
| Truncamiento de la imagen del cuadro de verificación en TreeView | Cambio de comportamiento |
| StatusStrip usa System RenderMode de forma predeterminada | Cambio de comportamiento |
| System.Drawing OutOfMemoryException se cambió a ExternalException | Cambio de comportamiento |
Windows Presentation Foundation (WPF)
| Título | Tipo de cambio |
|---|---|
| No se permiten ColumnDefinitions y RowDefinitions vacíos | No compatible con el origen |
| El uso incorrecto de DynamicResource provoca un bloqueo de aplicación | Origen incompatible/cambio de comportamiento |