次の方法で共有


NuGet 7.0 リリース ノート

NuGet 配布車両:

NuGet のバージョン Visual Studio バージョンで使用可能 .NET SDK で使用可能
7.0.0 Visual Studio 2026 バージョン 18.0.0 10.0.1001
7.0.1 Visual Studio 2026 バージョン 18.1.0
7.0.2 Visual Studio 2026 バージョン 18.1.1 10.0.1021

1 Visual Studio 2026 において任意の .NET ワークロードを使用する際にインストールされる

概要: 7.0.2 の新機能

  • Visual Studio の脆弱性情報バーに、NuGet の MCP Server ドキュメントへの "GitHub Copilot で修正する方法" リンクが追加されました - #14680

このリリースで修正された問題

  • dotnet nuget がパッケージ グラフではなく新しい行にターゲット パッケージを書き込む理由 - #14664

このリリースのコミットのリスト

概要: 7.0.1 の新機能

このリリースで修正された問題

このリリースのコミットのリスト

概要: 7.0.0 の新機能

  • .NET 10 を対象とするプロジェクトは、デフォルトで NuGetAuditMode=all #14161 に設定され、推移的パッケージの脆弱性に警告を発します。

  • .NET 10 #14345 を対象とするすべてのプロジェクトでパッケージの排除が有効になっている

  • .NET 10 SDK 以降でサポートされている NuGet モデル コンテキスト プロトコル (MCP) サーバーを作成しました。 NuGet の MCP は Visual Studio 2026 にプレインストールされており、VS 17.14 および VS Code にインストールできます。 サーバーは、 nuGet.Mcp.Server パッケージとして nuget.org に発行されます。

  • パッケージを必要とせずに従来の PackageReference プロジェクトのパッキングを有効にする - #14046

  • .NET 10 での SHA-1 の使用を非推奨にする - #13814

  • [詳細] ウィンドウに監査ソースからの脆弱性データが反映される - #14554

  • パッケージ マネージャー UI での NuGet AuditSources のサポート - #13954

  • NuGet の設定を新しい Visual Studio の [オプション] ウィンドウに移行する

    • Visual Studio の [オプション] で [パッケージ ソース] 設定を移行する - #14233

    • Visual Studio の [オプション] で [パッケージ ソース マッピング] 設定を移行する - #14234

  • dotnet 更新プログラム パッケージ --vulnerable (監査修正) - #13372

重大な変更

  • 復元中にパッケージ ID 検証を追加する - #14407

  • Project.json は 7.0 ではサポートされなくなりました。 Visual Studio 2026 によって、project.json プロジェクトが PackageReference に自動的に移行されました

  • パッケージのトリミングにより、パッケージロックファイルに一度だけ変更が発生する - #14272

  • 直接参照を限定するために、PrivateAssets=all および IncludeAssets=none を適用してプルーニングします - #14196

  • NuGet.exe の sign および mssign コマンドで SHA-1 フィンガープリントの使用に関するエラーを表示する - #13962

  • サービス インデックス内のリソースで https 以外のソースが使用されている場合にエラーを表示する - #13364

SDK の破壊的変更

  • Project.json 非推奨

    • project.json パックの削除 - #7931

    • project.json のサポートを削除 - #7199

    • PackageSpec.Dependencies の削除 - #14446

    • パッケージ スペックの再実行 API のクリーンアップ - #6231

  • 未使用の NuGet VS Extensibility API が削除されました - #14403

  • NuGet.Frameworks、NuGet.Protocol、NuGet.Commands > NuGet.PackageManagement - #14395 で古いとしてマークされている未使用の API をすべて削除する

  • NuGet.Common、NuGet.Configuration、NuGet.LibraryModel、NuGet.Packaging、NuGet.ProjectModel から古い API を削除する - #14393

  • Standaloneなどの未使用の復元実装のコードをブロックおよび削除します。 - #14184

  • 削除 DotnetToolReference 復元 - #14183

このリリースで修正された問題

NuGet SDK の修正

  • NuGet.Protocol でリフレクション ベースの逆シリアル化を使用しない - #14470

  • JsonSerializerIsReflectionEnabledByDefault が false に設定されているアプリの Nuget.Protocols 6.13.1 への更新時の JsonSerializerIsReflectionDisabled - #14111

.NET コマンドライン インターフェイス (CLI)

  • .NET Core 認証プラグインの CanShowDialog を有効にする - #14010

  • "dotnet package update" が間違ったプロジェクト ファイル (csproj) を変更する - #14585

  • dotnet nuget verify コマンドはパッケージコンテンツハッシュを出力する必要があります - #14384

  • dotnet パッケージの更新で --verbosity をサポートする必要がある - #14319

  • dotnet パッケージの更新で CPM と VersionOverride をサポートする必要がある - #14318

  • dotnet パッケージの更新で複数のパッケージをサポートする必要がある - #14308

  • dotnet パッケージの更新でパッケージ ソース マッピングをサポートする必要がある - #14307

  • dotnet パッケージを特定のバージョンに更新する - #14306

  • dotnet パッケージ更新プログラムの初期バージョン - #14305

  • [Bug Bash][不安定]エラー "0 で除算しようとしました。 コマンド "dotnet list [ProjectPath] package --vulnerable" - #14122 を実行すると発生します

  • [機能]: dotnet list [project | solution] パッケージがソリューション フィルターで動作しない - #11789

Visual Studio のパッケージ マネージャー UI

  • 検索コントロールを Fluent UI に変換する - #14469

  • インストールされているバージョンの Project PM UI に Fluent TextBox を使用する - #14466

  • [Bug Bash]PM UI のバージョン ドロップダウン リストに小さなギャップがあります - #11990

  • [Bug Bash]PM UI のドロップダウン リストでは、選択した項目とホバーオンアイテムの背景色が区別されません - #10977

  • [Bug Bash]Tab キーを押して [バージョン] ドロップダウン ボックスにフォーカスを合わせてキーボードのページダウン ボタンを押すと、ボックスが空になります - #13605

  • 未使用コード: ActionsAndVersions ビュー - #14464

Visual Studio のオプション

  • レガシ VS オプションの NuGet 設定の使用停止 - #14398

  • オプション ダイアログで http ソースを追加する場合は、追加する AllowInsecureConnections に対してより明示的に同意するチェック ボックスをユーザーにクリックさせます - #14377

  • AllowInsecureConnections を使用しない HTTP ソースのパッケージ ソース設定で必要なエラー - #14367

  • Visual Studio のオプションで NuGet の設定の検証を改善する - #14359

  • 入力中に NuGet オプション ページに検証エラーを表示する - #14358

  • [Bug Bash][不安定][パッケージ ソース マッピング] ダイアログの [パッケージ ソース マッピング] リストからソース マッピングを最初に削除すると機能しない - #13520

  • [ローカライズ][Options->NuGet Package Manager->Package Source Mapping] ページのテーブル タイトル 'Package Source Mapping' がローカライズされませんでした - #14550

  • [Bug Bash]オフライン パッケージ ソースは、以前に [Options->NuGet Package Manager->Package Sources] ウィンドウの [マシン全体のパッケージ ソース] ソース リストから無効にした後で有効にできません - #13434

  • [Bug Bash][Add New Package Source Mapping]\(新しいパッケージ ソース マッピングの追加\) ダイアログの "source" 列には、見えない範囲でドラッグできる最小幅が設定されていません - #13355

  • [Bug Bash][オプション] ダイアログボックスを最初に再度開くと、すべてのソースが以前に削除されたときに、既定のパッケージ ソース "Microsoft Visual Studio オフライン パッケージ" が "パッケージ ソース" リストに戻ります - #13278

  • [Bug Bash][Option->NuGet Package Manager->Package Source Mapping]\(パッケージ ソース マッピング\) ウィンドウで、新しく追加されたパッケージ ソース マッピングで大文字と小文字が区別されないようにする必要があります - #13210

  • [Bug Bash][オプション->NuGet パッケージ マネージャー] ウィンドウで、他のタブから [パッケージ ソース マッピング] タブに切り替えた後、新しく追加されたパッケージ ソース マッピングが失われる可能性があります - #13150

  • [Bug Bash][パッケージ ソース マッピング] の一覧でパッケージ ソース マッピングが選択されていない場合は、[削除] ボタンを無効にする必要があります - #13115

  • [CSY][Options->NuGet Package Manager->Package Sources] ダイアログボックスに重複したホットキーが表示される - #7822

  • VS NuGet PMUI - マシン全体のパッケージ ソース領域も垂直方向にサイズ変更可能である必要がある - #7560

  • [Bug Bash]ソース "Microsoft Visual Studio オフライン パッケージ" の名前を変更すると、重複するパッケージ ソースが存在します - #13057

  • [Bug Bash][Options->NuGet Package Manager->Package Sources] ページは、ソースが重複しているいずれかのパッケージ ソースの [有効] チェックボックスをオンまたはオフにした後に無効になります - #14499

  • [パッケージ ソースの追加] ダイアログで事前設定されたテキストを手動で選択する必要がある - #14450

  • 名前が更新されたときに VS はパッケージ ソース属性を削除しないでください - #14370

パッケージの排除

  • PrunePackageReference の警告ロールアウト - #14126

  • nuget.org がパッケージ ソースでない場合、"nuget install" から監査警告が表示されない - #14096

  • コマンド ラインで指定された HTTP ソースにプッシュすることはできません - #14047

  • 複数ターゲットを含む .NET 10 を対象とするすべてのプロジェクトでパッケージの排除が有効になります - #14345

  • 排除が有効なフレームワークを NuGet.targets に移動する - #14424

  • _RestorePackagePruningDefaultを RestorePackagePruningDefault に変更する - #14511

Restore

  • dotnet restore/Visual Studio が .esproj + Nx project.json と競合している - #13512

  • ロックモードでプルーニングを使用する場合の NU1004 に関する改善 - #14075

  • 復元時に生成された MSBuild props ファイルに NuGetToolVersion を記述しないことを検討してください - #14355

  • SQL Server Management Studio 21 がインストールされている場合、NuGet の復元が失敗する - #14349

  • NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSINGの削除 - #14257

  • restoreTargetGraph.TargetGraphName が広く使用されているバージョンであるため、RestoreTargetGraph.Name を削除する - #14529

  • RestoreArgs.LockFileVersion を使用していない機能として削除する - #14524

  • NUGET_BULK_RESTORE_COORDINATIONおよびNUGET_SOLUTION_CACHE_INITIALIZATIONのフォールバックを削除する - #14502

依存関係リゾルバー

  • 新しい依存関係リゾルバーがフローティング プレリリース バージョンを適切に処理しない - #13833

  • ロック ファイルを使用して新しいアルゴリズム解決を再び有効に - #13800

Other

  • ilmerging パッケージを停止する - #13079

  • VSCode で NuGet.Client の Build.ps1 GitHub Copilot をよりわかりやすいものにする - #14453

  • 繰り返しビルドで同じ [Content_Types].xml を生成する - #14357

  • pack legacy csproj: VS ビルド ツールにパック ターゲットとタスクを含める - #14520

  • ソリューション内の唯一のプロジェクトが project.json プロジェクトである場合に VS がクラッシュする - #14553

  • 例外処理の確認 - #14440

  • 冗長なディクショナリ検索を回避してパフォーマンスを向上させる - #14432

  • LockFileLibrary を変更可能にする必要はありません - #14385

このリリースのコミットのリスト

コミュニティの投稿

この NuGet リリースを素晴らしいものにするのに役立ったすべての共同作成者に感謝します。

  • SimonCropp
    • 6720 冗長な既定のコンストラクターを削除する
    • 6610 GetNupkgInfo のメッセージに "最小バージョンがありません" を追加する
    • 6581 MarkTransitiveOrigin で冗長ディクショナリ検索を削除する
    • 6596 PackageItemViewModelTests で null 許容を有効にする
    • 6634 IFrameworkTargetable の削除
    • 6616 PluginFindPackageByIdResource での冗長バージョンの解析を回避する
    • 6595 ReadmePreviewViewModelTests で null 許容を有効にする
    • 6587 ProcessUnrankedEntries で冗長ディクショナリ検索を削除する
    • 6598 EmbeddedResourcesCapabilityTests で null 許容を有効にする
    • 6577 プライベート プロパティの代わりにフィールドを使用する
    • 6622 GetPackagesToBeReinstalled で使用されていないリストを削除する
    • projectManagerService.GetMetadataAsync の戻り値に対する6589の冗長なnullチェック
    • VSRestoreSettingsUtilityTests で null 許容を有効にする 6605
    • 6575 CredentialServiceAdapter.GetCredentials で冗長ディクショナリ検索を削除する
    • NuGetInstallCommandTest で 6601 nullabe を有効にする
    • 6593 IProjectContextInfoExtensionsTests で null 許容を有効にする
    • 6614 DependencyGraphFileRequestProvider で冗長リストを削除する
    • 6625 PackageExtractor で使用されていない変数を削除する
    • 6609 UnresolvedMessages での null 値の許容を修正しました
    • 6608 使用されていない contextForGather を削除する
    • 6628 CredentialsItem で冗長列挙型を削除する
    • 6617 MSBuildRestoreUtility で toolItems リスト インスタンスを削除する
    • 6599 Constructor_SetReportAbuseUrl_Initializeでのパラメーターの null 値の許容を修正...
    • 6604 LegacyPackageReferenceProjectTests で null 許容を有効にする
    • 6631 DependencyGraphSpecRequestProvider.CollectReferences を削除する
    • 6635 remove EnvDteProjectExtensions.PathComparer
    • 6623 ManifestSchemaUtility で冗長な GetManifestResourceNames を削除する
    • 6619 未使用の packageID 変数を削除する
    • 6620 PackageManagerControl で使用されていない変数を削除する
    • 6640 冗長な例外処理を削除する
    • 6637 PackageManagerControl.AddMigratorBar を削除する
    • 6629 ResolverMetadataClient で使用されていない HashSet インスタンスを削除する
    • MSBuildUtilityTest で null 許容を有効にする 6602
    • 6641 UpdateCommand.ExecuteCommandAsync で冗長 null 条件を削除する
    • 6683 GetTempFilePath で冗長な文字列アロケーションを削除する
    • 6626 SignedPackageArchiveIOUtility で使用されていない変数を削除する
    • 6574 CreatePackageSourceMappingDictionary で冗長ディクショナリ検索を削除する
    • 6594 InfiniteScrollListTests で null 許容を有効にする
    • 6682 SafeReadAsync で非同期遅延を使用する
    • NuGetUpdateCommandTests で null 許容を有効にする 6600
    • VSNominationUtilitiesTests で null 許容を有効にする 6606
    • 6613 GetExternalProject で冗長型変数を削除する
    • 6611 使用されていない solutionService インスタンスを削除する
    • 6643 remove MsBuildUtility.GetMsBuildPathInPathVar
    • 6632 PackageSpecFactory.GetTargetFrameworkStrings を削除する
    • 6573 ProjectFactory.ProcessDependencies で一部の割り当てを回避する
    • 6588 GetPreviewResultsAsync からディクショナリ参照を削除する
    • 6597 PackageModelCreationTestHelper での null 値の許容を修正
    • 6612 NuGetPackageManager で使用されていないリスト インスタンスを削除する
    • 6591 PackageSourceValidatorTests で null 許容を有効にする
    • 6603 IVsProjectBuildProperties での null 値の許容を修正
    • 6636 PackageReferenceProject から _project* フィールドを削除する
    • 6630 LocalV3FindPackageByIdResource で使用されていない ID インスタンスを削除する
    • 6618 NuGetPackageManager で LoggerAdapter インスタンスを削除する
    • 6621 SolutionUpToDateChecker で使用されていない projectsByUniqueName を削除する
    • 6624 PackageBuilder で使用されていない変数を削除する
    • 6633 JsonPackageSpecReader DelimitedStringSeparators と VersionSeparators を削除する
    • 6642 は、CommandLineParser.AssignValue で as チェックと null チェックの代わりにキャストを使用します
    • 6615 GetPluginAsync で冗長リストを削除する
    • 6627 MisplacedAssemblyOutsideLibRule で使用されていない GetDirectoryName を削除する
    • 6578 PrunePackageTree.PruneDowngrades で冗長ディクショナリ検索を削除する
    • 6576 RecommenderPackageFeed で冗長ディクショナリ検索を削除する
  • baronfel
    • 6554 NuGet->SDK コードフローの修正
    • 6514 復元中に生成された NuGet props ファイルの NuGetToolVersion プロパティをピン留めして安定させます。
  • omajid
    • 6500 Content_Types.xml のエントリの安定した順序を確保する
    • 6507 完全な署名が利用できない場合の Linux でのビルドのサポート
  • AlexDelepine
    • 6793 VS の Ngen 優先度の更新
  • hickford
    • 6475 監査ソースを一貫して埋め込む
  • nohwnd
    • 6735 ユーティリティ powershell.exe 呼び出しでプロファイルの読み込みを無効にする
  • mmitche
    • 6539 NuGet を xliff-tasks に移動する
  • dkurepa
    • 6644 Version.Details.props を追加
  • bdukes
    • 6530 Visual Studio ではなく SSMS から MSBuild を検出する復元を修正nuget.exe
  • ToddGrun
    • 6519 パフォーマンスとサニティの理由から LockFileLibrary を不変にする