次の方法で共有


SDK と .NET 10 のツールの新機能

この記事では、.NET SDK for .NET 10 の新機能と機能強化について説明します。 プレビュー 5 用に更新されます。

フレームワークによって提供されるパッケージ参照の排除

.NET 10 以降では、 NuGet 監査 機能で、プロジェクトで使用されていない フレームワークによって提供されるパッケージ参照を排除 できるようになりました。 この機能は、すべての net ターゲット フレームワーク ( net8.0net10.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を指定して対話機能を無効にすることができます。

ネイティブ シェルのタブ補完スクリプト

dotnet CLI では、dotnet completions generate [SHELL] コマンドを使用した一般的なシェルのネイティブ タブ補完スクリプトの生成がサポートされるようになりました。 サポートされているシェルには、 bashfishnushellpowershell、および 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 Testing Platform のサポート

.NET 10 以降では、 dotnet testMicrosoft.Testing.Platform をネイティブにサポートしています。 この機能を有効にするには、 dotnet.configファイルに 次の構成を追加します。

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

詳細については、「dotnet testを使用したテスト」を参照してください。