本文說明 .NET SDK for .NET 10 中的新功能和增強功能。 已針對預覽版 5 進行更新。
精簡架構提供的套件參考
從 .NET 10 開始, NuGet 稽核 功能現在可以剪除專案未使用的 架構提供的套件參考 。 此功能預設會針對所有 net
目標框架啟用(例如 net8.0
和 net10.0
)以及 .NET Standard 2.0 和更新版本的目標框架。 這項變更有助於減少在建置程式期間還原及分析的套件數目,這可能會導致建置時間更快,並降低磁碟空間使用量。 這也可能導致降低來自 NuGet 稽核和其他相依性掃描機制的偽陽性。
啟用此功能時,您可能會看到應用程式產生的 .deps.json 檔案內容減少。 .NET 運行時間提供的任何套件參考都會從產生的相依性檔案中自動移除。
雖然此功能預設會針對列出的 TFM 啟用,但您可以在項目檔或 RestoreEnablePackagePruning
檔案中將 屬性設定false
為 來停用此功能。
更一致的命令順序
從 .NET 10 開始, dotnet
CLI 工具包含一般命令的新別名,使其更容易記住並輸入。 下表顯示新的命令。
新名詞優先形式 | 的別名 |
---|---|
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 |
新的名詞優先表單符合一般 CLI 標準,讓 dotnet
CLI 與其他工具更一致。 當動詞優先表單繼續運作時,最好在腳本和檔中使用名詞優先表單以改善可讀性和一致性。
CLI 命令預設為互動式終端機中的互動式模式
在互動式終端機中,CLI 命令預設會啟用 --interactive
參數。 這項變更可讓命令動態擷取認證或執行其他互動式行為,而不需要明確設定旗標。 針對非互動式案例,您可以藉由指定 --interactive false
來停用互動性。
原生 Shell tab 自動完成腳本
dotnet
CLI 現在支援使用 dotnet completions generate [SHELL]
命令,為熱門的 shell 產生原生索引標籤自動完成腳本。 支援的殼層包括bash
、fish
、nushell
、powershell
和 zsh
。 這些腳本藉由提供更快速且更整合的索引標籤自動完成功能來改善可用性。 例如,在 PowerShell 中,您可以將下列內容新增至 您的 $PROFILE
,以啟用完成:
dotnet completions script pwsh | out-String | Invoke-Expression -ErrorAction SilentlyContinue
主控台應用程式可以原生建立容器映像
主控台應用程式現在可以透過 dotnet publish /t:PublishContainer
建立容器映像,而不需要 <EnableSdkContainerSupport>
項目檔中的屬性。 這會將控制台應用程式與 ASP.NET Core 和 Worker SDK 應用程式的行為對齊。
明確控制容器的映像格式
新的 <ContainerImageFormat>
屬性可讓您將容器映像的格式明確設定為 Docker
或 OCI
。 這個屬性會覆寫預設行為,這取決於基底映像格式,以及容器是否為多重架構。
在dotnet test
中對Microsoft測試平台的支援
從 .NET 10 開始, dotnet test
原生支援 Microsoft.Testing.Platform。 若要啟用此功能,請將下列組態新增至 您的dotnet.config 檔案:
[dotnet.test.runner]
name = "Microsoft.Testing.Platform"
如需詳細資訊,請參閱使用 dotnet test
測試。