Leggere in inglese

Condividi tramite


Modifiche che causano un'interruzione in .NET 8

Se si esegue la migrazione di un'app a .NET 8, 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 classifica ogni modifica che causa un'interruzione come binaria non compatibile o origine non compatibile o come modifica funzionale:

  • Binario non compatibile: quando viene eseguita sul nuovo runtime o componente, i file binari esistenti possono riscontrare una modifica che causa un'interruzione funzionale, ad esempio un errore di caricamento o esecuzione e, in tal caso, richiedere la ricompilazione.

  • Origine non compatibile : quando viene ricompilata usando il nuovo SDK o componente oppure per specificare come destinazione il nuovo runtime, il codice sorgente esistente potrebbe richiedere modifiche all'origine per la compilazione.

  • Modifica funzionale: il codice esistente e i file binari possono comportarsi in modo diverso in fase di esecuzione. Se il nuovo comportamento non è desiderato, è necessario aggiornare e ricompilare il codice esistente.

ASP.NET Core

Contenitori

Principali librerie .NET

Title Tipo di modifica
Nome dell'operazione di attività quando null Modifiche funzionali
Comportamento AnonymousPipeServerStream.Dispose Modifiche funzionali
Obsolescenze API con ID di diagnostica personalizzati Origine non compatibile
Mapping delle barre rovesciate nei percorsi di file Unix Modifiche funzionali
Metodi Base64.DecodeFromUtf8 ignorano gli spazi vuoti Modifiche funzionali
Supporto del tipo di enumerazione booleano rimosso Modifiche funzionali
Il formato Complex.ToString è stato modificato in ` <a; b> Modifiche funzionali
Enumerazione percorso directory corrente dell'unità Modifiche funzionali
Enumerable.Sum genera una nuova OverflowException per alcuni input Modifiche funzionali
Scritture FileStream quando la pipe viene chiusa Modifiche funzionali
FindSystemTimeZoneById non restituisce un nuovo oggetto Modifiche funzionali
GC. GetGeneration potrebbe restituire int32.MaxValue Modifiche funzionali
Comportamento di GetFolderPath in Unix Modifiche funzionali
GetSystemVersion non restituisce più ImageRuntimeVersion Modifiche funzionali
Annotazioni ITypeDescriptorContext nullable Origine non compatibile
Console legacy.ReadKey rimosso Modifiche funzionali
Generatori di metodi generano parametri con HasDefaultValue impostato su false Modifiche funzionali
ProcessStartInfo.WindowStyle rispettato quando UseShellExecute è false Modifiche funzionali
RuntimeIdentifier restituisce la piattaforma per cui è stato compilato il runtime Modifiche funzionali
Type.GetType genera un'eccezione per tutti i tipi di elemento non validi Modifiche funzionali

Crittografia

Title Tipo di modifica Presentazione
Dimensioni dei tag di autenticazione AesGcm in macOS Modifiche funzionali Preview 1
RSA. EncryptValue e RSA. DecryptValue obsoleto Origine non compatibile Preview 1

Distribuzione

Title Tipo di modifica
L’host determina gli asset specifici del RID Modifica binaria non compatibile/comportamentale
.NET Monitor include solo immagini senza distribuzione Modifiche funzionali
L'impostazione predefinita StripSymbols è true Modifiche funzionali

Entity Framework Core

Modificheche causano un'interruzione in EF Core 8

Estensioni

Globalizzazione

Interop

Rete

Riflessione

Title Tipo di modifica
IntPtr non più usato per i tipi di puntatore a funzione Modifiche funzionali

SDK

Title Tipo di modifica
L'output della console CLI usa UTF-8 Modifica comportamentale/Origine e file binari incompatibili
Codifica della console non UTF-8 dopo il completamento Modifica comportamentale/Binario non compatibile
Per impostazione predefinita, i contenitori usano il tag 'latest' Modifiche funzionali
'dotnet pack' usa la configurazione della Release Modifica comportamentale/Origine non compatibile
'dotnet publish' usa la configurazione Release Modifica comportamentale/Origine non compatibile
Output duplicato per -getItem, -getProperty e -getTargetResult Modifiche funzionali
using implicito per System.Net.Http non più aggiunto Modifica comportamentale/Origine non compatibile
Eventi di compilazione derivati personalizzati di MSBuild deprecati Modifiche funzionali
MSBuild rispetta DOTNET_CLI_UI_LANGUAGE Modifiche funzionali
App specifiche del runtime non autonome Origine/file binario non compatibile
L'opzione --arch non implica l'autonomia Modifiche funzionali
'dotnet restore' genera avvisi di vulnerabilità di sicurezza Modifiche funzionali
SDK usa un grafico RID più piccolo Modifica comportamentale/Origine non compatibile
Impostare DebugSymbols su falso disabilita la generazione di PDB Modifiche funzionali
Collegamento all'origine incluso in .NET SDK Origine non compatibile
Il taglio non può essere usato con .NET Standard o .NET Framework Modifiche funzionali
Pacchetti non elencati non installati per impostazione predefinita per gli strumenti .NET Modifiche funzionali
File .user importato nelle build esterne Modifiche funzionali
Requisiti della versione per .NET 8 SDK Origine non compatibile

Serializzazione

WinForms

Vedi anche