Dela via


Nyheter i SDK och verktyg för .NET 10

I den här artikeln beskrivs nya funktioner och förbättringar i .NET SDK för .NET 10. Den har uppdaterats för förhandsversion 5.

Beskärning av paketreferenser som tillhandahålls av ramverket

Från och med .NET 10 kan funktionen NuGet Audit nu beskära ramverksbaserade paketreferenser som inte används av projektet. Den här funktionen är aktiverad som standard för alla net målramverk (till exempel net8.0 och net10.0) och .NET Standard 2.0 och större målramverk. Den här ändringen bidrar till att minska antalet paket som återställs och analyseras under byggprocessen, vilket kan leda till snabbare byggtider och minskad diskutrymmesanvändning. Det kan också minska antalet falska positiva resultat från granskning med NuGet och andra beroendeskanningsmekanismer.

När den här funktionen är aktiverad kan du se en minskning av innehållet i dina program genererade .deps.json filer. Alla paketreferenser som tillhandahålls av .NET-körningen tas automatiskt bort från den genererade beroendefilen.

Även om den här funktionen är aktiverad som standard för de listade TFM:erna kan du inaktivera den genom att ange egenskapen RestoreEnablePackagePruning till false i projektfilen eller Directory.Build.props fil.

Mer konsekvent kommandoordning

Från och med .NET 10 innehåller verktyget dotnet CLI nya alias för vanliga kommandon för att göra dem enklare att komma ihåg och skriva. De nya kommandona visas i följande tabell.

Nytt substantivformulär Alias för
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

De nya substantiv-första formulären överensstämmer med allmänna CLI-standarder, vilket gör dotnet CLI mer konsekvent med andra verktyg. Även om de verb-första formulären fortsätter att fungera är det bättre att använda substantiv-första formulären för bättre läsbarhet och konsekvens i skript och dokumentation.

CLI-kommandon körs som standard i interaktivt läge i interaktiva terminaler

Flaggan --interactive är nu aktiverad som standard för CLI-kommandon i interaktiva terminaler. Den här ändringen gör det möjligt för kommandon att dynamiskt hämta autentiseringsuppgifter eller utföra andra interaktiva beteenden utan att kräva att flaggan uttryckligen anges. För icke-interaktiva scenarier kan du inaktivera interaktivitet genom att --interactive falseange .

Skript för inbyggt gränssnitt för tab-completion

dotnet CLI har nu stöd för att generera inbyggda tab-completion-skript för populära gränssnitt med hjälp av dotnet completions generate [SHELL] kommandot . Gränssnitt som stöds är bash, fish, nushell, powershelloch zsh. Dessa skript förbättrar användbarheten genom att tillhandahålla snabbare och mer integrerade tab-completion-funktioner. I PowerShell kan du till exempel aktivera slutföranden genom att lägga till följande i :$PROFILE

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

Konsolappar kan skapa containeravbildningar internt

Konsolappar kan nu skapa containeravbildningar via dotnet publish /t:PublishContainer utan att kräva egenskapen <EnableSdkContainerSupport> i projektfilen. Detta justerar konsolappar med beteendet för ASP.NET Core- och Worker SDK-appar.

Kontrollera uttryckligen avbildningsformatet för containrar

Med en ny <ContainerImageFormat> egenskap kan du uttryckligen ange formatet för containeravbildningar till antingen Docker eller OCI. Den här egenskapen åsidosätter standardbeteendet, vilket beror på basavbildningsformatet och om containern är multiarkitektur.

Stöd för Microsoft Testing Platform i dotnet test

Från och med .NET 10 dotnet test har inbyggt stöd för Microsoft.Testing.Platform. Om du vill aktivera den här funktionen lägger du till följande konfiguration i filendotnet.config :

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

Mer information finns i Testa med dotnet test.