Partekatu bidez


Cambios importantes en .NET 5

Si va a migrar una aplicación a .NET 5, los cambios importantes que se enumeran aquí pueden afectarle. Los cambios se agrupan por área tecnológica, como ASP.NET Core o criptografía.

En este artículo se indica si cada cambio importante es compatible con binarios o compatible con el origen:

  • Compatible con binarios : los archivos binarios existentes se cargarán y ejecutarán correctamente sin volver a compilarse y el comportamiento en tiempo de ejecución no cambiará.
  • Compatible con el código fuente: el código fuente se compilará correctamente sin cambios al usar el nuevo entorno de ejecución, SDK, o componente.

ASP.NET Core

Consulte Cambios importantes en ASP.NET Core 5.

Análisis de código

Título Compatible con binarios Compatible con la fuente
Advertencia CA1416 ✔️
Advertencia CA1417 ✔️
Advertencia ca1831 ✔️
Advertencia CA2013 ✔️
Advertencia CA2014 ✔️
Advertencia de CA2015 ✔️
Advertencia ca2200 ✔️
Advertencia CA2247 ✔️

Bibliotecas de .NET principales

Título Compatible con binarios Compatible con la fuente
Cambios de API relacionados con ensamblados para la publicación de un solo archivo ✔️
Los métodos de serialización BinaryFormatter están obsoletos ✔️
Las API de seguridad de acceso al código están obsoletas ✔️
CreateCounterSetInstance lanza InvalidOperationException ✔️
ActivityIdFormat predeterminado es W3C ✔️
Environment.OSVersion devuelve la versión correcta. ✔️
El valor de FrameworkDescription es .NET no .NET Core ✔️
Las API de GAC están obsoletas ✔️
Comprobaciones IsSupported intrínsecas de hardware ✔️
IntPtr y UIntPtr implementan IFormattable ✔️
LastIndexOf controla cadenas de búsqueda vacías ✔️
Rutas de acceso de URI con caracteres que no son ASCII en Unix ✔️
Obsolescencias de API con identificadores de diagnóstico no predeterminados ✔️
Propiedades obsoletas en ConsoleLoggerOptions ✔️
Complejidad de LINQ OrderBy.First ✔️
Atributos de OSPlatform cambiados o eliminados ✔️
Paquete Microsoft.DotNet.PlatformAbstractions quitado ✔️
PrincipalPermissionAttribute está obsoleto ✔️
Cambios en el nombre de parámetro de las versiones preliminares ✔️
Cambios de nombre de parámetro en ensamblados de referencia ✔️
Las API de comunicación remota están obsoletas ✔️
El orden de la lista de Activity.Tags se ha invertido ✔️
Los métodos de comparación SSE y SSE2 controlan NaN ✔️
Thread.Abort está obsoleto ✔️
Reconocimiento de URI de rutas UNC en Unix ✔️
Las rutas de acceso de código UTF-7 están obsoletas ✔️
Cambio de comportamiento para Vector2.Lerp y Vector4.Lerp ✔️
Vector<T> lanza NotSupportedException ✔️

Criptografía

Título Compatible con binarios Compatible con la fuente
Las API de criptografía no se admiten en el explorador ✔️
Cryptography.Oid es de solo inicialización ✔️
Conjuntos de cifrado TLS predeterminados en Linux ✔️
Las sobrecargas create() en abstracciones criptográficas están obsoletas ✔️
Valor de FeedbackSize predeterminado cambiado ✔️

Entity Framework Core (Marco de trabajo de entidades núcleo)

Consulte Cambios importantes en EF Core 5.0.

Globalización

Título Compatible con binarios Compatible con la fuente
Uso de bibliotecas de ICU en Windows ✔️
StringInfo y TextElementEnumerator son compatibles con UAX29 ✔️
Categoría Unicode modificada para caracteres del alfabeto Latin1 ✔️
Se cambiaron los valores de TextInfo.ListSeparator ✔️

Interoperabilidad

Título Compatible con binarios Compatible con la fuente
Se ha quitado la compatibilidad con WinRT ✔️
La conversión de RCW a InterfaceIsIInspectable produce una excepción ✔️
Exclusión del sondeo del sufijo A/W en plataformas que no son Windows ✔️

Redes

Título Compatible con binarios Compatible con la fuente
El control de rutas de acceso de cookies se ajusta a RFC 6265 ✔️
LocalEndPoint se actualiza después de llamar a SendToAsync ✔️
MulticastOption.Group no acepta null ✔️
Las secuencias permiten operaciones Begin sucesivas ✔️
WinHttpHandler se quitó del entorno de ejecución de .NET ✔️

SDK (Sistema de traducción

Título Compatible con binarios Compatible con la fuente
Archivos Directory.Packages.props importados de forma predeterminada ✔️
Error generado cuando el proyecto ejecutable hace referencia a un archivo ejecutable no coincidente ✔️
FrameworkReference reemplazado por WindowsSdkPackageVersion para Windows SDK ✔️
NETCOREAPP3_1 símbolo del preprocesador no definido ✔️
A OutputType se le asigna el valor WinExe ✔️
Cambio de comportamiento de PublishDepsFilePath ✔️
Cambio del marco de trabajo objetivo de netcoreapp a net ✔️
Las aplicaciones WinForms y WPF usan Microsoft.NET.Sdk ✔️

Seguridad

Título Compatible con binarios Compatible con la fuente
Las API de seguridad de acceso al código están obsoletas ✔️
PrincipalPermissionAttribute está obsoleto ✔️
Las rutas de acceso de código UTF-7 están obsoletas ✔️

Serialización

Título Compatible con binarios Compatible con la fuente
BinaryFormatter.Deserialize vuelve a encapsular excepciones ✔️
JsonSerializer.Deserialize requiere una cadena de caracteres únicos ✔️
Las aplicaciones de ASP.NET Core deserializan números entre comillas ✔️
JsonSerializer.Serialize lanza ArgumentNullException ✔️
Constructores sin parámetros no públicos que no se usan para la deserialización ✔️
Se respetan las opciones al serializar pares clave-valor ✔️

Windows Forms

Título Compatible con binarios Compatible con la fuente
El código nativo no puede tener acceso a objetos de Windows Forms ✔️
A OutputType se le asigna el valor WinExe ✔️
DataGridView no restablece fuentes personalizadas ✔️
Los métodos inician ArgumentException ✔️
Los métodos inician ArgumentNullException ✔️
Las propiedades inician ArgumentOutOfRangeException ✔️
TextFormatFlags.ModifyString está obsoleto ✔️
Las API de DataGridView producen InvalidOperationException ✔️
Las aplicaciones WinForms usan Microsoft.NET.Sdk ✔️
Se han quitado los controles de la barra de estado ✔️

WPF (Windows Presentation Foundation)

Título Compatible con binarios Compatible con la fuente
A OutputType se le asigna el valor WinExe ✔️
Las aplicaciones WPF usan Microsoft.NET.Sdk ✔️

Consulte también