Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se si esegue la migrazione di un'app a .NET 8, le modifiche incompatibili elencate qui potrebbero influenzarti. 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 vengono eseguiti su un nuovo runtime o componente, i file binari esistenti possono riscontrare una modifica nei comportamenti che potrebbe interromperne il funzionamento, come il mancato caricamento o esecuzione; in tal caso, è necessaria 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 comportamentale : 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
Consulta Cambiamenti significativi in ASP.NET Core 8.
Contenitori
| Titolo | Tipo di modifica |
|---|---|
| Pacchetto 'ca-certificates' rimosso dalle immagini Alpine | Incompatibile a livello binario |
| Immagini del contenitore Debian aggiornate a Debian 12 | Modifica binaria non compatibile/comportamentale |
| La porta predefinita ASP.NET Core è stata modificata in 8080 | Cambiamento comportamentale |
| Pacchetto Kerberos rimosso dalle immagini Alpine e Debian | Incompatibilità binaria |
| Pacchetto 'libintl' rimosso dalle immagini Alpine | Cambiamento comportamentale |
| I tag multipiattaforma per i contenitori sono disponibili solo per Linux | Cambiamento comportamentale |
| Nuovo utente 'app' nelle immagini Linux | Cambiamento comportamentale |
Principali librerie .NET
Crittografia
| Titolo | Tipo di modifica | Presentazione |
|---|---|---|
| Dimensioni dei tag di autenticazione AesGcm in macOS | Cambiamento comportamentale | Anteprima 1 |
| RSA.EncryptValue e RSA.DecryptValue obsoleti | Origine non compatibile | Anteprima 1 |
Distribuzione
| Titolo | Tipo di modifica |
|---|---|
| L’host determina gli asset specifici del RID | Modifica binaria non compatibile/comportamentale |
| .NET Monitor include solo immagini senza distribuzione | Cambiamento comportamentale |
| I pacchetti .NET per openSUSE e SLES dipendono da OpenSSL 3.x | Modifica comportamentale |
| L'impostazione predefinita StripSymbols è true | Cambiamento comportamentale |
Entity Framework Core (un framework ORM per la gestione dei database nello sviluppo software)
Consulta Modifiche di rilievo in EF Core 8.
Estensioni
Globalizzazione
| Titolo | Tipo di modifica |
|---|---|
| I convertitori di data e ora rispettano l'argomento culturale | Modifica comportamentale |
| L'impostazione predefinita TwoDigitYearMax è 2049 | Cambiamento comportamentale |
Interoperabilità
| Titolo | Tipo di modifica |
|---|---|
| CreateObjectFlags.Unwrap effettua un unwrap solo sull'istanza di destinazione | Cambiamento comportamentale |
| I gestori di marshaling personalizzati richiedono membri aggiuntivi | Origine non compatibile |
| L'API IDispatchImplAttribute viene rimossa | Incompatibile a livello binario |
| Costruttore predefinito pubblico implicito JSFunctionBinding rimosso | Incompatibilità binaria |
| I tipi SafeHandle devono avere un costruttore pubblico | Origine non compatibile |
La risoluzione delle librerie native su Linux non utilizza più netcoredeps |
Cambiamenti comportamentali |
Rete
| Titolo | Tipo di modifica |
|---|---|
| SendFile genera notSupportedException per i socket senza connessione | Cambiamento comportamentale |
Le informazioni utente negli mailto: URI sono confrontate |
Cambiamento comportamentale |
Riflessione
| Titolo | Tipo di modifica |
|---|---|
| IntPtr non più usato per i tipi di puntatore a funzione | Cambiamenti comportamentali |
SDK
Serializzazione
| Titolo | Tipo di modifica |
|---|---|
| BinaryFormatter disabilitato per la maggior parte dei progetti | Modifiche comportamentali |
| I progetti PublishedTrimmed falliscono nella serializzazione basata su reflection | Modifiche comportamentali |
| Il deserializzatore basato su reflection risolve i metadati in modo anticipato | Modifiche comportamentali |
WinForms
| Titolo | Tipo di modifica |
|---|---|
| Certificati verificati prima di caricare immagini remote in PictureBox | Modifiche comportamentali |
| DateTimePicker.Text è una stringa vuota | Modifiche comportamentali |
| DefaultValueAttribute rimosso da alcune proprietà | Modifiche comportamentali |
| ctor ExceptionCollection genera l'eccezione ArgumentException | Modifiche comportamentali |
| Ridimensionamento dei moduli in base a AutoScaleMode | Modifiche comportamentali |
| Il valore predefinito ImageList.ColorDepth è Depth32Bit | Modifiche comportamentali |
| System.Windows.Extensions non fa riferimento a System.Drawing.Common | Origine non compatibile |
| TableLayoutStyleCollection genera ArgumentException | Modifiche comportamentali |
| I moduli di primo livello ridimensionano le dimensioni minime e massime in base ai DPI | Modifiche comportamentali |
| L’obsolescenza WFDEV002 è ora un errore | Origine non compatibile |