Freigeben über


Neuerungen im SDK und tooling für .NET 10

In diesem Artikel werden neue Features und Verbesserungen im .NET SDK für .NET 10 beschrieben. Es wird für die Preview 5 aktualisiert.

Bearbeitung von durch das Framework bereitgestellten Paket-Referenzen

Ab .NET 10 kann die NuGet-Audit-Funktion jetzt vom Framework bereitgestellte Paketverweise, die nicht vom Projekt verwendet werden, entfernen. Dieses Feature ist standardmäßig für alle net Zielframeworks (z. B. net8.0 und net10.0) sowie für .NET Standard 2.0 und darüber liegende Zielframeworks aktiviert. Diese Änderung trägt dazu bei, die Anzahl der Pakete zu reduzieren, die während des Buildprozesses wiederhergestellt und analysiert werden, was zu schnelleren Buildzeiten und reduzierter Speicherplatznutzung führen kann. Es kann auch zu einer Verringerung falsch positiver Ergebnisse von NuGet Audit und anderen Abhängigkeitsscanmechanismen führen.

Wenn dieses Feature aktiviert ist, sehen Sie möglicherweise eine Verringerung des Inhalts der generierten .deps.json Dateien Ihrer Anwendungen. Alle von der .NET-Laufzeit bereitgestellten Paketverweise werden automatisch aus der generierten Abhängigkeitsdatei entfernt.

Obwohl dieses Feature für die aufgeführten TFMs standardmäßig aktiviert ist, können Sie es deaktivieren, indem Sie die RestoreEnablePackagePruning-Eigenschaft in der Projektdatei oder in der Datei false auf festlegen.

Konsistentere Befehlsreihenfolge

Ab .NET 10 enthält das dotnet CLI-Tool neue Aliase für allgemeine Befehle, um sie leichter zu merken und einzugeben. Die neuen Befehle werden in der folgenden Tabelle angezeigt.

Neues Nomen-zuerst-Format 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

Die neuen Substantivformen entsprechen allgemeinen CLI-Standards, wodurch die dotnet CLI mit anderen Tools konsistenter wird. Während die verb-first-Formulare weiterhin funktionieren, ist es besser, die Substantiv-ersten Formulare für eine verbesserte Lesbarkeit und Konsistenz in Skripts und Dokumentationen zu verwenden.

CLI-Befehle werden standardmäßig im interaktiven Modus in interaktiven Terminals verwendet.

Das --interactive Flag ist jetzt standardmäßig für CLI-Befehle in interaktiven Terminals aktiviert. Diese Änderung ermöglicht es Befehlen, Anmeldeinformationen dynamisch abzurufen oder andere interaktive Verhaltensweisen auszuführen, ohne dass die Kennzeichnung explizit festgelegt werden muss. Bei nichtinteraktiven Szenarien können Sie die Interaktivität deaktivieren, indem Sie angeben --interactive false.

Native Shell-Skripte zur Tab-Vervollständigung

Die dotnet CLI unterstützt jetzt das Generieren nativer Tab-Abschlussskripts für beliebte Shells mit dem dotnet completions generate [SHELL] Befehl. Unterstützte Shells umfassen bash, , fish, nushell, powershellund zsh. Diese Skripte verbessern die Benutzerfreundlichkeit, indem sie schnellere und integrierte Funktionen zur Tab-Vervollständigung bereitstellen. In PowerShell können Sie beispielsweise Ergänzungen aktivieren, indem Sie Folgendes zu Ihrem $PROFILE hinzufügen:

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

Konsolen-Apps können containerimages nativ erstellen

Konsolen-Apps können jetzt Container-Images über dotnet publish /t:PublishContainer erstellen, ohne dass die <EnableSdkContainerSupport>-Eigenschaft in der Projektdatei erforderlich ist. Dadurch werden Konsolen-Apps an das Verhalten von ASP.NET Core- und Worker SDK-Apps ausgerichtet.

Explizites Steuern des Bildformats von Containern

Mit einer neuen <ContainerImageFormat>-Eigenschaft können Sie das Format von Container-Images explizit auf entweder Docker oder OCI festlegen. Diese Eigenschaft überschreibt das Standardverhalten, das vom Basisimageformat und davon abhängt, ob es sich bei dem Container um eine Multiarchitektur-Umgebung handelt.

Unterstützung für Microsoft Testing Platform in dotnet test

Ab .NET 10 bietet dotnet test native Unterstützung für Microsoft.Testing.Platform. Um dieses Feature zu aktivieren, fügen Sie ihrer dotnet.config Datei die folgende Konfiguration hinzu:

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

Weitere Details finden Sie unter Testen mit dotnet test.