Modifiche che causano un'interruzione in .NET 7
Se si esegue la migrazione di un'app a .NET 7, 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
Principali librerie .NET
Impostazione
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Voce System.diagnostics in app.config | ❌ | ✔️ |
Crittografia
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
La decrittografia di EnvelopedCms non esegue il doppio annullamento del wrapping | ❌ | ✔️ |
Tempo di verifica di Dynamic X509ChainPolicy | ❌ | ✔️ |
Analisi di X500DistinguishedName dei nomi descrittivi | ❌ | ✔️ |
Distribuzione
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Tutti gli assembly sottoposti a trimming per impostazione predefinita | ✔️ | ❌ |
La ricerca a più livelli è disabilitata | ❌ | ✔️ |
Percorso host x86 in Windows a 64 bit | ✔️ | ✔️ |
TrimmerDefaultAction è deprecato | ✔️ | ❌ |
Entity Framework Core
Modifiche che causano un'interruzione in EF Core 7
Estensioni
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
L'associazione della configurazione al dizionario estende i valori | ✔️ | ✔️ |
ContentRootPath per le app avviate dalla shell di Windows | ❌ | ✔️ |
Prefissi delle variabili di ambiente | ❌ | ✔️ |
Globalizzazione
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Le API di globalizzazione usano librerie di ICU in Windows Server | ❌ | ✔️ |
Interop
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
RuntimeInformation.OSArchitecture nell'emulazione | ❌ | ✔️ |
.NET MAUI
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
I costruttori accettano l'interfaccia di base anziché un tipo concreto | ❌ | ✔️ |
Metodi helper di direzione del flusso rimossi | ❌ | ❌ |
Nuovo parametro UpdateBackground | ❌ | ✔️ |
Proprietà ScrollToRequest rinominata | ❌ | ❌ |
Alcune API di Windows vengono rimosse | ❌ | ❌ |
Rete
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
AllowRenegotiation default è falso | ❌ | ❌ |
Payload ping personalizzati in Linux | ❌ | ✔️ |
I metodi Socket.End non generano ObjectDisposedException | ❌ | ✔️ |
SDK e MSBuild
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
RuntimeIdentifier automatico per determinati progetti | ✔️ | ❌ |
RuntimeIdentifier automatico solo per la pubblicazione | ❌ | ❌ |
L'output della console CLI usa UTF-8 | ❌ | ❌ |
Codifica della console non UTF-8 dopo il completamento | ❌ | ✔️ |
Serializzazione di MSBuild di tipi personalizzati in .NET 7 | ❌ | ❌ |
Installazioni side-by-side dell'SDK | ❌ | ❌ |
Manifesti degli strumenti nella cartella radice | ✔️ | ✔️ |
Requisiti di versione per .NET 7 SDK | ✔️ | ✔️ |
dotnet test: impostare -a su alias --arch invece di --test-adapter-path |
❌ | ❌ |
dotnet test: impostare -r su alias --runtime invece di --results-dir |
❌ | ❌ |
L'opzione --output non è più valida per i comandi a livello di soluzione |
❌ | ❌ |
L'SDK non chiama più ResolvePackageDependencies | ✔️ | ❌ |
Serializzazione
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
DataContractSerializer mantiene il segno durante la deserializzazione di -0 | ❌ | ✔️ |
Deserializzare il tipo di versione con spazi vuoti iniziali o finali | ❌ | ✔️ |
Il costruttore di copia JsonSerializerOptions include JsonSerializerContext | ❌ | ✔️ |
Serializzazione polimorfica per i tipi di oggetto | ❌ | ✔️ |
Fallback del generatore di origine System.Text.Json | ❌ | ✔️ |
WinForms
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
Obsolescenze e avvisi | ✔️ | ❌ |
Alcune API generano ArgumentNullException | ❌ | ✔️ |
WPF
Title | Compatibile a livello binario | Compatibile a livello di origine | Compatibile |
---|---|---|---|
Ripristino del comportamento delle operazioni di trascinamento della selezione in editor di testo | ✔️ | ✔️ | ❌ |
XML e XSLT
Title | Compatibile a livello binario | Compatibile a livello di origine |
---|---|---|
XmlSecureResolver è obsoleto | ❌ | ❌ |
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.