Leggere in inglese

Condividi tramite


Modifiche che causano un'interruzione in .NET 6

Se si esegue la migrazione di un'app a .NET 6, le modifiche che causano un'interruzione elencate qui potrebbero influire sull'utente. Le modifiche vengono raggruppate in base all'area tecnologica, ad esempio ASP.NET Core o Windows Forms.

Questo articolo indica se ogni modifica che causa un'interruzione è compatibile a livello binario o compatibile a livello di origine:

  • Compatibile a livello binario: i file binari esistenti verranno caricati ed eseguiti correttamente senza ricompilare e il comportamento di runtime non cambierà.
  • Compatibile a livello di origine: il codice sorgente verrà compilato correttamente senza modifiche quando viene specificato come destinazione il nuovo runtime o quando si usa il nuovo SDK o il nuovo componente.

ASP.NET Core

Title Compatibile a livello binario Compatibile a livello di origine
ActionResult<T> imposta StatusCode su 200 ✔️
Metodo AddDataAnnotationsValidation reso obsoleto ✔️
Assembly rimossi da Microsoft.AspNetCore.App framework condiviso ✔️
Blazor: nome del parametro modificato nel metodo RequestImageFileAsync ✔️
Blazor: proprietà WebEventDescriptor.EventArgsType sostituita
Blazor: interoperabilità della matrice di byte ✔️
Changed MessagePack library in @microsoft/signalr-protocol-msgpack ✔️
La proprietà ClientCertificate non attiva la rinegoziazione per HttpSys ✔️
Metadati endpointName non impostati automaticamente ✔️
Identità: versione predefinita di Bootstrap dell'interfaccia utente modificata
Kestrel: attributi del messaggio di log modificati ✔️
Funzionalità Microsoft.AspNetCore.Http. suddivise ✔️
Middleware: il middleware di reindirizzamento HTTPS genera un'eccezione sulle porte HTTPS ambigue ✔️
Middleware: nuovo overload use ✔️
Ridenominazione minima dell'API in RC 1
Ridenominazione minima dell'API in RC 2
MVC non memorizza nel buffer i tipi IAsyncEnumerable quando si usa System.Text.Json ✔️
Annotazioni dei tipi di riferimento Nullable modificate ✔️
API obsolete e rimosse ✔️
PreserveCompilationContext non configurato per impostazione predefinita ✔️
Razor: il compilatore non produce più un assembly Views ✔️
Razor: modifiche all'ID di registrazione ✔️
Razor: API RazorEngine contrassegnate come obsolete ✔️
SignalR: Client Java aggiornato a RxJava3 ✔️
I metodi TryParse e BindAsync vengono convalidati

Contenitori

Title Compatibile a livello binario Compatibile a livello di origine
Formattazione del logger della console predefinita nelle immagini del contenitore ✔️

Per informazioni su altre modifiche di rilievo per i contenitori in .NET 6, vedere Note sulla versione del contenitore .NET 6.

Principali librerie .NET

Title Compatibile a livello binario Compatibile a livello di origine
API obsolete con ID di diagnostica non predefiniti ✔️
Modifiche alle annotazioni dei tipi di riferimento nullable ✔️
Valutazione della stringa condizionale nei metodi di debug ✔️
Comportamento Environment.ProcessorCount in Windows ✔️
Comportamento di callback di EventSource ✔️ ✔️
File.Replace in Unix genera eccezioni in modo che corrispondano a Windows ✔️
FileStream blocca i file con blocco condiviso su Unix ✔️
FileStream non sincronizza più l'offset di file con il sistema operativo
Gli aggiornamenti di FileStream.Position dopo il completamento di ReadAsync o WriteAsync
Nuovi ID di diagnostica per le API obsolete ✔️
Nuovi overload del metodo System.Linq.Queryable ✔️
Versioni precedenti del framework eliminate dal pacchetto ✔️
Nomi dei parametri modificati ✔️
Nomi dei parametri nei tipi derivati da Stream ✔️
Letture parziali e zero byte in DeflateStream, GZipStream e CryptoStream ✔️
Impostare timestamp sul file di sola lettura in Windows ✔️
Precisione di analisi del formato numerico standard ✔️
Membri astratti statici nelle interfacce ✔️
Overload stringBuilder.Append e ordine di valutazione ✔️
API con nome sicuro generano platformNotSupportedException ✔️
System.Drawing.Common supportato solo in Windows
System.Security.SecurityContext è contrassegnato come obsoleto ✔️
Task.FromResult può restituire singleton ✔️
Eccezioni non gestite da un BackgroundService ✔️

Crittografia

Title Compatibile a livello binario Compatibile a livello di origine
Metodi CreateEncryptor generano un'eccezione per le dimensioni del feedback non corrette ✔️

Distribuzione

Title Compatibile a livello binario Compatibile a livello di origine
Percorso host x86 in Windows a 64 bit ✔️ ✔️

Entity Framework Core

Modifiche di rilievo in EF Core 6

Estensioni

Globalizzazione

Interop

Title Compatibile a livello binario Compatibile a livello di origine
Membri astratti statici nelle interfacce ✔️

Compilatore JIT

Title Compatibile a livello binario Compatibile a livello di origine
Argomenti di chiamata di Coerce in base a ECMA-335 ✔️ ✔️

Rete

Title Compatibile a livello binario Compatibile a livello di origine
Porta rimossa dal nome SPN per Kerberos e Negotiate ✔️
WebRequest, WebClient e ServicePoint sono obsoleti ✔️

SDK

Serializzazione

WinForms

XML e XSLT

Title Compatibile a livello binario Compatibile a livello di origine
Comportamento XNodeReader.GetAttribute per indice non valido ✔️

Vedi anche