Codice C# nei modelli non supportati dalle versioni precedenti
A partire da .NET 6, i modelli di progetto forniti con .NET SDK usano le funzionalità più recenti del linguaggio C#. Le funzionalità del linguaggio seguenti vengono usate nel codice generato dal modello o vengono abilitate per impostazione predefinita nel progetto:
- Istruzioni di primo livello
- Direttive using globali
- Spazi dei nomi con ambito file
- Nuove espressioni di tipo target
- Tipi riferimento nullable
- Valori restituiti da Async Main
Alcune delle funzionalità più recenti del linguaggio C# non sono supportate dai framework di destinazione precedenti, pertanto potrebbero verificarsi problemi nei seguenti scenari:
- Quando si usa un modello .NET 6 e poi si cambia il framework di destinazione con una versione precedente.
- Quando si usa un modello .NET 6 e poi si esegue un multi-destinazione aggiungendo una versione precedente del framework di destinazione.
Versione introdotta
.NET SDK 6.0.100
Comportamento precedente
Nelle versioni precedenti di .NET, è possibile modificare il framework di destinazione in una versione precedente o aggiungere una versione aggiuntiva senza dover modificare il codice C# creato dal modello di progetto.
Nuovo comportamento
A partire da .NET 6, quando si modifica o si aggiunge un framework di destinazione, potrebbe essere necessario modificare il codice C# generato dal modello per evitare di usare funzionalità del linguaggio non supportate. Il progetto non verrà compilato senza queste modifiche. Gli errori e gli avvisi del compilatore in genere illustrano come modificare il codice generato per renderlo compatibile con il nuovo framework di destinazione.
Categoria di modifiche
Questa modifica influisce sulla compatibilità dell'origine.
Motivo della modifica
I modelli di progetto devono essere sincronizzati con le funzionalità del linguaggio più recenti. Lo scenario di utilizzo principale di destinazione del framework più recente usa le funzionalità più recenti del linguaggio C#.
Azione consigliata
Se si verificano errori e avvisi in fase di compilazione quando si ripristina una versione precedente del framework, usare tali informazioni per modificare il codice generato per renderlo compatibile con il framework di destinazione selezionato.
Per evitare errori in fase di compilazione quando si punta a un framework meno recente, seguire questi suggerimenti:
- Evitare di modificare il framework di destinazione in una versione precedente. Selezionare invece il framework di destinazione desiderato durante la creazione del progetto in Visual Studio o nella riga di comando usando
dotnet new <templateName> --framework <targetFramework>
. - Quando si crea un progetto multi-destinazione, selezionare la versione più bassa framework di destinazione quando si crea il progetto. Aggiungere i framework di destinazione aggiuntivi dopo la creazione del progetto.
API interessate
N/D