Modifiche che causano un'interruzione in .NET 5
Se si esegue la migrazione di un'app a .NET 5, 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 crittografia.
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
Analisi codice
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Avviso CA1416 | ✔️ | ❌ |
Avviso CA1417 | ✔️ | ❌ |
Avviso CA1831 | ✔️ | ❌ |
Avviso CA2013 | ✔️ | ❌ |
Avviso CA2014 | ✔️ | ❌ |
Avviso CA2015 | ✔️ | ❌ |
Avviso CA2200 | ✔️ | ❌ |
Avviso CA2247 | ✔️ | ❌ |
Principali librerie .NET
Crittografia
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
API di crittografia non supportate nel browser | ❌ | ✔️ |
Cryptography.Oid solo per inizializzazione | ✔️ | ❌ |
Pacchetti di crittografia TLS predefiniti in Linux | ❌ | ✔️ |
Gli overload Create() sulle astrazioni crittografiche sono obsoleti | ✔️ | ❌ |
Valore predefinito di FeedbackSize modificato | ✔️ | ❌ |
Entity Framework Core
Modifica che causa un'interruzione in EF Core 5.0
Globalizzazione
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Usare le librerie ICU in Windows | ❌ | ✔️ |
StringInfo e TextElementEnumerator sono conformi a UAX29 | ❌ | ✔️ |
Categoria Unicode modificata per i caratteri Latin-1 | ✔️ | ❌ |
Valori di TextInfo.ListSeparator modificati | ✔️ | ❌ |
Interop
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Supporto per WinRT rimosso | ❌ | ✔️ |
Il cast di RCW a InterfaceIsIInspectable genera un'eccezione | ❌ | ✔️ |
Nessun probing di suffisso A/W su piattaforme non Windows | ❌ | ✔️ |
Rete
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Gestione dei percorsi dei cookie conforme a RFC 6265 | ✔️ | ❌ |
LocalEndPoint viene aggiornato dopo la chiamata di SendToAsync | ✔️ | ❌ |
MulticastOption.Group non accetta valori Null | ✔️ | ❌ |
I flussi consentono operazioni Begin successive | ❌ | ✔️ |
WinHttpHandler rimosso dal runtime .NET | ❌ | ✔️ |
SDK
Sicurezza
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Le API di sicurezza dall'accesso di codice sono obsolete | ✔️ | ❌ |
PrincipalPermissionAttribute obsoleto | ✔️ | ❌ |
I percorsi del codice UTF-7 sono obsoleti | ✔️ | ❌ |
Serializzazione
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
BinaryFormatter.Deserialize riesegue il wrapping delle eccezioni | ✔️ | ❌ |
JsonSerializer.Deserialize richiede una stringa a carattere singolo | ✔️ | ❌ |
Le app ASP.NET Core deserializzano i numeri tra virgolette | ✔️ | ❌ |
JsonSerializer.Serialize genera ArgumentNullException | ✔️ | ❌ |
Costruttori non pubblici senza parametri non usati per la deserializzazione | ✔️ | ❌ |
Opzioni rispettate durante la serializzazione di coppie chiave-valore | ✔️ | ❌ |
WinForms
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Il codice nativo non può accedere agli oggetti Windows Form | ✔️ | ❌ |
OutputType impostato su WinExe | ❌ | ✔️ |
DataGridView non reimposta i tipi di carattere personalizzati | ✔️ | ❌ |
I metodi generano ArgumentException | ✔️ | ❌ |
I metodi generano ArgumentNullException | ✔️ | ❌ |
Le proprietà generano ArgumentOutOfRangeException | ✔️ | ❌ |
TextFormatFlags.ModifyString obsoleto | ✔️ | ❌ |
Le API DataGridView generano InvalidOperationException | ✔️ | ❌ |
Le app WinForms usano Microsoft.NET.Sdk | ❌ | ✔️ |
Controlli della barra di stato rimossi | ✔️ | ❌ |
WPF
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
OutputType impostato su WinExe | ❌ | ✔️ |
Le app WPF usano Microsoft.NET.Sdk | ❌ | ✔️ |
Vedi anche
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.