Condividi tramite


Novità dell'SDK e degli strumenti per .NET 10

Questo articolo descrive nuove funzionalità e miglioramenti in .NET SDK per .NET 10. È stato aggiornato per la versione Anteprima 4.

Eliminazione di riferimenti ai pacchetti forniti dal framework

A partire da .NET 10, la funzionalità Di controllo NuGet può ora eliminare i riferimenti ai pacchetti forniti dal framework non usati dal progetto. Questa funzionalità è abilitata per impostazione predefinita per tutti i net framework di destinazione (ad esempio net8.0 e net10.0) e .NET Standard 2.0 e per i framework di destinazione maggiori. Questa modifica consente di ridurre il numero di pacchetti ripristinati e analizzati durante il processo di compilazione, che può portare a tempi di compilazione più rapidi e a un utilizzo ridotto dello spazio su disco. Può anche comportare una riduzione dei falsi positivi da NuGet Audit e altri meccanismi di analisi delle dipendenze.

Quando questa funzionalità è abilitata, è possibile che venga visualizzata una riduzione del contenuto dei file .deps.json generati dalle applicazioni. Tutti i riferimenti al pacchetto forniti dal runtime .NET vengono rimossi automaticamente dal file di dipendenza generato.

Sebbene questa funzionalità sia abilitata per impostazione predefinita per i TFM elencati, è possibile disabilitarla impostando la RestoreEnablePackagePruning proprietà su false nel file di progetto o nel file Directory.Build.props .

Ordine dei comandi più coerente

A partire da .NET 10, lo strumento CLI dotnet include nuovi alias per i comandi comuni per renderli più facili da ricordare e digitare. I nuovi comandi sono illustrati nella tabella seguente.

Nuovo formato orientato al sostantivo Alias per
dotnet package add dotnet add package
dotnet package list dotnet list package
dotnet package remove dotnet remove package
dotnet reference add dotnet add reference
dotnet reference list dotnet list reference
dotnet reference remove dotnet remove reference

Le nuove forme prima il sostantivo sono allineate agli standard generali dell'interfaccia a riga di comando, rendendo l'interfaccia a riga di comando dotnet più coerente con altri strumenti. Sebbene le forme verbo-primo continuino a funzionare, è preferibile usare le forme nome-primo per migliorare la leggibilità e la coerenza negli script e nella documentazione.

Per impostazione predefinita, i comandi dell'interfaccia della riga di comando operano in modalità interattiva nei terminali interattivi.

Il --interactive flag è ora abilitato per impostazione predefinita per i comandi dell'interfaccia della riga di comando nei terminali interattivi. Questa modifica consente ai comandi di recuperare in modo dinamico le credenziali o di eseguire altri comportamenti interattivi senza che il flag venga impostato in modo esplicito. Per gli scenari non interattivi, è possibile disabilitare l'interattività specificando --interactive false.

Script di completamento tramite tabulazione della shell nativa

L'interfaccia CLI ora supporta la generazione di script di completamento nativi per le shell più diffuse, utilizzando il comando dotnet. Le shell supportate includono bash, fish, nushell, powershell, e zsh. Questi script migliorano l'usabilità offrendo funzionalità di completamento schede più veloci e integrate. Ad esempio, in PowerShell è possibile abilitare i completamenti aggiungendo quanto segue a $PROFILE:

dotnet completions script pwsh | out-String | Invoke-Expression -ErrorAction SilentlyContinue

Le app console possono creare immagini del contenitore in modo nativo

Le app console possono ora creare immagini contenitore tramite dotnet publish /t:PublishContainer senza richiedere la <EnableSdkContainerSupport> proprietà nel file di progetto. In questo modo le app console vengono allineate al comportamento delle app Core e Worker SDK di ASP.NET.

Controllare in modo esplicito il formato di immagine dei contenitori

Una nuova <ContainerImageFormat> proprietà consente di impostare in modo esplicito il formato delle immagini del contenitore su Docker o OCI. Questa proprietà esegue l'override del comportamento predefinito, che dipende dal formato dell'immagine di base e dal fatto che il contenitore sia multiarchitettura.

Supporto per Microsoft Testing Platform in dotnet test

A partire da .NET 10, dotnet test supporta in modo nativo Microsoft.Testing.Platform. Per abilitare questa funzionalità, aggiungere la configurazione seguente al file dotnet.config :

[dotnet.test.runner]
name = "Microsoft.Testing.Platform"

Per altri dettagli, vedere Test con dotnet test.