Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
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 disruptivo como no compatible con el binario, no compatible con el origen o cambio de comportamiento:
Incompatibilidad binaria - cuando se ejecuta en el nuevo entorno de ejecución o componente, los archivos binarios existentes pueden experimentar un cambio importante en el comportamiento, como el error de carga o ejecución, y, si es así, requieren recompilación.
Incompatible a nivel de código fuente - cuando se vuelve a compilar mediante el nuevo SDK o componente o para tener como destino el nuevo entorno de ejecución, el código fuente existente puede requerir cambios en el código fuente 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
Consulte Cambios importantes en ASP.NET Core 10.
Contenedores
| Title | Tipo de cambio |
|---|---|
| Las imágenes de .NET predeterminadas usan Ubuntu | Cambio de comportamiento |
| dotnet test necesita un directorio base de artefactos vsTest grabable en contenedores | Cambio de comportamiento |
Bibliotecas de Core .NET
Criptografía
| Title | Tipo de cambio |
|---|---|
| CompositeMLDsa actualizado a draft-08 | Cambio de comportamiento |
| CoseSigner.Key puede ser null | Cambio de comportamiento/Incompatible con origen |
| Los miembros "SecretKey" de MLDsa y SlhDsa se han renombrado. | Fuente incompatible |
| No se admiten los primitivos criptográficos de OpenSSL en macOS | Cambio de comportamiento |
| Se requiere OpenSSL 1.1.1 o posterior 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 (Marco de trabajo de entidades núcleo)
Consulte Cambios importantes en EF Core 10.
Extensiones
| Title | 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 se movió al ensamblado Microsoft.Extensions.Logging.Abstractions | Fuente incompatible |
| Se quitó la anotación DynamicallyAccessedMembers del código de Microsoft.Extensions.Configuration no seguro para trim | Incompatibilidad binaria |
Globalización
| Title | 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
| Title | Tipo de cambio |
|---|---|
| dotnet.acquire API para VS Code ya no siempre descarga la versión más reciente. | Cambio de comportamiento |
Interop
| Title | Tipo de cambio |
|---|---|
| La conversión del objeto COM IDispatchEx a IReflect falla | Cambio de comportamiento |
| Las aplicaciones de un solo archivo ya no buscan bibliotecas nativas en el directorio del ejecutable | Cambio de comportamiento |
| Especificar DllImportSearchPath.AssemblyDirectory solo busca en el directorio de ensamblados. | Cambio de comportamiento |
Networking
| Title | Tipo de cambio |
|---|---|
| Compatibilidad con HTTP/3 deshabilitada de forma predeterminada con PublishTrimmed | Fuente incompatible |
| MailAddress valida los puntos consecutivos | Cambio de comportamiento |
| Las respuestas HTTP en streaming están habilitadas de forma predeterminada en los clientes HTTP del explorador | Cambio de comportamiento |
Uri límites de longitud quitados |
Cambio de comportamiento |
Reflexión
| Title | Tipo de cambio | Versión introducida |
|---|---|---|
| Anotaciones más restringidas en InvokeMember/FindMembers/DeclaredMembers | Comportamiento/origen incompatible | |
| Validación del argumento Type.MakeGenericSignatureType | Cambio de comportamiento |
SDK y MSBuild
Serialización
| Title | 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
| Title | Tipo de cambio |
|---|---|
| Obsolescencias de API | Fuente incompatible |
| Las aplicaciones que hacen referencia tanto a WPF como a WinForms deben desambiguar los tipos MenuItem y ContextMenu | Fuente incompatible |
| Se ha cambiado el nombre del parámetro en HtmlElement.InsertAdjacentElement | Fuente incompatible |
| Truncamiento de la imagen de la casilla de TreeView | Cambio de comportamiento |
| StatusStrip usa System RenderMode de forma predeterminada | Cambio de comportamiento |
| System.Drawing OutOfMemoryException cambió a ExternalException | Cambio de comportamiento |
Windows Presentation Foundation (WPF)
| Title | Tipo de cambio |
|---|---|
| No se permiten ColumnDefinitions y RowDefinitions vacíos | Fuente incompatible |
| El uso incorrecto de DynamicResource provoca el bloqueo de la aplicación | Origen incompatible/cambio de comportamiento |