次の方法で共有


NuGet 5.0 リリース ノート

NuGet 配布の種類:

NuGet のバージョン 利用可能な Visual Studio バージョン 利用可能な .NET SDK
5.0.0 Visual Studio 2019 バージョン 16.0 2.1.60212.2.2022
5.0.2 Visual Studio 2019 バージョン 16.0.4 2.1.60X12.2.20X2

1 NET Core ワークロードを使用した Visual Studio 2019 がインストールされている

2 .NET Core ワークロードを使用した Visual Studio 2019 でのオプションのインストールとして使用可能

概要: 5.0 の新機能

  • Visual Studio 2019 でのフィルター処理されたソリューションの復元のサポート - #5820
  • BuildTransitive フォルダーを使用すると、パッケージがホスト プロジェクトに推移的にターゲット/プロパティを提供できる - #6091
  • NuGet IVs API での PackageReference シナリオのサポート強化 - #7005#7493
  • nuget.exe pack project.json は非推奨になった - #7928
  • Gen 1 資格情報プロバイダー プラグインは Gen 2 に置き換わり、間もなく非推奨になる - #7819

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

バグ

  • NoOp 復元を実行する場合は、obj ディレクトリでの *.dgspec.json の書き込みを避ける - #7854

  • ~/.nuget 内で作成されたファイルに対するアクセス許可の範囲が広すぎる - #7673

  • 認証が必要なソースで dotnet list package --outdated が動作しない - #7605

  • NuGet.VisualStudio.IVsPackageInstaller - パッケージ参照のないプロジェクトを呼び出すと、既定値が PackageReference - に設定されている場合でも、packages.config が常に使用される #7005

  • PMC: リストから削除されたパッケージで、更新プログラムパッケージの再インストールが失敗する ("パッケージが見つかりません")。 - #7268

  • リポジトリと VSIX にサード パーティの通知を追加する - #7409

  • NuGet.VisualStudio.IVsPackageInstaller.InstallPackage は、バージョンが指定されていない場合に最新バージョンをインストールする必要がある - #7493

  • --dotnet nuget プッシュの対話型サポート - #7519

  • ロック ファイルを使用して復元する場合、NU1603 警告を発生させてはならない。 - #7529

  • NuGet は、最小限のログ記録で復元中にプロジェクト パスを印刷してはならない - #7647

  • --dotnet remove パッケージの対話型サポート - #7727

  • TypeForwardedTo attrs を使用して NuGet.Packaging.Core を追加する - #7768

  • plugins_cache が適切に動作するには、より短いパスが必要である - #7770

  • ユーザーが特定の msbuild バージョンを要求しなかった場合は、msbuild 検出のパスを優先する - #7786

  • nuget.exe /? は正しい msbuild バージョンを一覧表示する必要がある - #7794

  • NuGet.targets(498,5): エラー: パス '/tmp/NuGetScratch - on mono の一部が見つかりませんでした - #7793

  • 復元で、マシン キャッシュ内のすべてのバージョンの参照先パッケージの内容が不必要に列挙される - #7639

  • VS 2019 プレビューのインストール後、MSBuild 自動検出で常に 16.0 が選択される - #7621

  • ソリューションの dotnet list package がフレームワークの重複エントリを出力する - #7607

  • 古いプロジェクトとパッケージ フォルダーで IVsPackageInstaller.InstallPackage を呼び出すときに例外 "空のパス名は有効ではありません" が存在しない。 - #5936

  • msbuild /t:restore の最小詳細度は、より小さく必要がある - #4695

  • VS 16.0 の NuGet UI には、色の問題が原因で読み取れないタブがある - #7735

  • NuGet.Core & NuGet.Clients License.txt の説明 - #7629

  • 種類の決定を試みるときに、復元でグローバル パッケージ フォルダーが不必要に列挙される - #7596

  • ロック ファイルの強制によるエラーがエラー一覧ウィンドウに表示される必要がある - #7429

  • NuGet.Configuration の問題を修正する - #7326

  • MSBuild のインストール場所の更新に適応する - #7325

  • NuGet.Build.Tasks.Pack は開発依存関係である必要がある - #7249

  • デバッグ シンボルを含めるためにパック拡張点を追加する - #7234

  • dotnet pack は、作成された nupkg 内の依存関係のバージョン範囲を保持する必要がある (フローティング バージョンが使用されている場合でも) - #7232

  • dotnet restore は、ユーザー レベルの構成にもソースがある場合、認証されたソースで失敗する - #7209

  • パックはコンテンツ ファイルの BuildActions のセットを制限してはならない - #7155

  • AssetTargetFallback を成功させる必要がある ProjectReference を使用すると、警告が表示される必要がある。 - #7137

  • CPS への呼び出し時のスレッドの問題が原因でデッドロック状態になる (CommonProjectSystem) - #7103

  • dotnet add package がローカル構成で指定されたソースに対してグローバル構成の認証情報を使用しない - #6935

  • 非同期コード パスで MEF が呼び出されるスレッドの問題 - #6771

  • 署名: エラーが 2 回報告され、呼び出し履歴がない - #6455

  • 信頼されていない署名証明書を使用して署名済みパッケージをインストールすると、エラーが表示される必要がある - #6318

  • 2 つのプロジェクトが obj ディレクトリを共有している場合、NuGet が不適切に NoOps を復元する - #6114

  • 認証されたフィードからのパッケージがある Linux の dotnet restore で PAT を使用できない - #5651

  • 無効になっているコンピューター全体のフィードが原因で、dotnet の復元が失敗する - #5410

DCR

  • "dotnet pack project.json" の今後の削除に関する警告 - #7928  

  • Gen1 認証情報プラグインの非推奨の警告を追加する - #7819  

  • 署名: RepositorySignatures/5.0.0 リソースを使用して、リポジトリが署名されたリポジトリとしてすべてのパッケージのクライアント確認を要求できるようにした - #7759

  • NuGet.Config を使用してソースごとの http 要求数を制限する - #4538

  • NuGet は Net472 をターゲットにする必要がある (VSIX の 16.0 ビルドのクリーンアップに役立つ) - #7143

  • PMC: OpenPackagePage コマンドを削除する - #7384

  • NetCoreApp 3.0 を NetStandard 2.1 にマッピングする - #7762

  • Netstandard2.0 のサポートを NuGet.* パッケージに追加する - #6516

  • パッケージ作成者がビルドアセットの推移的な動作を定義できるようにする - #6091

  • VS 2019 ソリューション フィルター機能をサポートする。 また、ソリューション内にないプロジェクトやアンロードされたプロジェクトもサポートする。 (CLI または VS を使用して) 完全なソリューションを最初に復元する必要がある - #5820

  • .NET 4.7.2 を必要とする NuGet 5.0 アセンブリ (TFM 変更による) - #7510

  • NuGet.Packaging の NuGetLicenseData はパブリック型である必要がある。 spdx から取り込まれたライセンス メタデータを更新する。 - #7471

  • 古い設定 API を削除する - #7294

  • 1 CPU のシステムでの回避策の復元タイムアウト - #6742

  • NuGet.config に認証情報がある場合でも、NuGet が NTLM 認証を優先する - 認証情報の認証の種類をフィルター処理する構成オプションを追加する - #5286

  • PackageReference の EmbedInteropTypes を有効にする (Packages.Config 機能に一致) - #2365

この 5.0 RTM リリースで修正されたすべての問題のリスト

概要: 5.0.2 の新機能

  • セキュリティ (dotnet.exe または mono.exe 経由で実行する場合) - 正しいアクセス許可 を使用して obj フォルダーを作成する必要がある #7908

  • mono/MacOS での nuget.exe の復元がカスタム nuget.config と PackageSignatureValidity: False で失敗する #8011

既知の問題

.NET Core SDK によってインストールされる FallbackFolders 内のパッケージがカスタム インストールされ、署名の検証に失敗する。 - #7414

問題点

dotnet.exe 2.x を使って netcoreapp 1.x と netcoreapp 2.x をマルチターゲットにするプロジェクトを復元すると、そのフォールバック フォルダーがファイル フィードとして扱われます。 つまり、復元するときに、NuGet ではフォールバック フォルダーからパッケージを選択し、それをグローバル パッケージ フォルダーにインストールしようと試み、通常の署名の検証を行って、失敗します。

回避策

RestoreAdditionalProjectSources に何も設定しないことで、フォールバック フォルダーの使用を無効にする。

<RestoreAdditionalProjectSources></RestoreAdditionalProjectSources>

これは慎重に使う必要があります。フォールバック フォルダーから復元されていたはずのパッケージが、NuGet.org からダウンロードされることになるためです。