NuGet 4.0 RTM リリース ノート

Visual Studio 2017 には NuGet 4.0 が付属しています。NuGet 4.0 には .NET Core のサポートが追加され、品質の改善とパフォーマンスの向上が図られています。 このリリースでは、PackageReference のサポート、MSBuild ターゲットとしての NuGet コマンド、バックグラウンド パッケージの復元など、いくつかの改善点もあります。

既知の問題

複数のプロジェクト参照が 1 つのソリューションの別のプロジェクトを参照しているとき、NuGet の復元が失敗することがある

問題点

あるソリューションで大文字/小文字の区別または相対パスが異なる同じプロジェクトが参照されているとき、NuGet 復元が失敗することがあります。 NuGet#4574

回避策

大文字/小文字または相対パスをすべてのプロジェクト参照で同じになるように修正します。

パッケージ マネージャー コンソールの使用中、'Enter' キーが機能しない

問題点

パッケージ マネージャー コンソールで、Enter キーが機能しないことがあります。 その場合、修正プログラムで進捗状況を確認してください。再現手順について役に立つ情報があれば提供してください。 NuGet#4204NuGet#4570

回避策

ソリューションを開く前に、Visual Studio を再起動し、PMC を開いてください。 または、project.lock.json を削除し、もう一度復元してください。

.NET Core プロジェクトで、署名が無効なアセンブリを含むパッケージを使用するとき、無限の復元ループが発生することがある

問題点

無効なアセンブリを含むパッケージを使用するとき、あるいはパッケージ バージョンに 'DateTime' ティッカーが設定されているとき、パッケージ復元が無限ループになることがあります。 NuGet#4542

回避策

現時点では、回避策はありません。

NuGet パッケージ マネージャーを使用した DotNetCLITools の表示、追加、更新ができない

問題点

NuGet パッケージ マネージャーが表示されず、DotNetCLITools を追加または更新できません。 NuGet#4256

回避策

DotNetCLIToolReferences はプロジェクト ファイルで手動編集する必要があります。

プロジェクトの PackageId プロパティを設定すると、NuGet の復元が失敗する

問題点

.NET Core プロジェクトの場合、Visual Studio の NuGet 復元では、プロジェクトの PackageId プロパティが適用されません。 NuGet#4586

回避策

コマンドラインを使用して復元を実行します。

プロジェクトに 'obj' フォルダーがないとき、パッケージ復元に失敗する

問題点

'obj' フォルダーが削除されると、Visual Studio は PackageReferences を復元できません。 NuGet#4528

回避策

'obj' フォルダーを手動作成すると、復元できるようになります。

コンソールで Update-Package を使用するとき、パッケージを手動更新できないことがある

問題点

Update-Package は、変換されたばかりの PackageReferences プロジェクトに対して、コンソールで 1 回だけ手動で利用できます。 NuGet#4431

回避策

現時点では、回避策はありません。

ターゲット フレームワーク バージョンを再ターゲットすると、IntelliSense が不完全になる

問題点

Visual Studio では、ターゲット フレームワーク バージョンを再ターゲットすると、IntelliSense が不完全になることがあります。 これは、パッケージ マネージャー形式として PackageReferences を使用しているときに発生します。 NuGet#4216

回避策

手動で復元します。

.NET461 をターゲットにするプロジェクトが .NETStandard をターゲットにする別のプロジェクトを参照するとき、msbuild /t:restore が失敗する

問題点

.NET461 をターゲットにする PackageReferenece ベースのプロジェクトが .NETStandard をターゲットにする別の PackageReferenece ベースのプロジェクトを参照するとき、msbuild /t:restore が失敗します。 NuGet#4532

回避策

現時点では、回避策はありません。

NuGet 4.0 RTM の時間枠で修正された問題

NuGet 4.0 RC のリリースノート - NuGet 4.0 RC で修正されたすべての問題が掲載されています

機能

  • NuGet.Core.sln の文字列をローカライズする - #2041

  • NuGet で強制的に Web アプリケーション プロジェクトを LSL モードに読み込む - #4258

  • AutoReferenced PackageReference で、"sdk がインストールされている" パッケージの UI のバージョン変更をブロックする機能をサポートする - #4044

  • 任意のプロジェクトの依存関係に対して PackageSpec.Version を正しく伝える (PackageRef) - #3902

  • コマンドラインから .csproj への参照を削除するためのサポート - #4101

  • PackageReference プロジェクト (通常と xplat) と Lightweight ソリューション読み込みの復元をサポートする - #4003

  • コマンドラインからの .csproj への参照を追加する機能のサポート - #3751

  • packages.config or project.json の NuGet 復元のライトウェイト ソリューション ロードのサポート - #3711

  • nuget で生成されたターゲット ファイルの contentFiles のサポート - #3683

  • MSBuild を使用して Mac 上で nuget.exe の検証の Mono CI を確立する - #3646

  • v2 NuGet.Core 依存関係から NuGet を移動する - #3645

バグ

  • Visual Studio の NuGet 復元で、プロジェクトの PackageId プロパティが適用されない - #4586

  • vsix パッケージにパッケージを追加するときの NuGet ProjectSystemCache エラー - #4545

  • IncludeSource が複数の TFM を持つプロジェクトで使用されている場合、パックから例外がスローされる - #4536

  • ソリューション全体のパッケージ管理から更新プログラムを使用すると、VS 2017 RC3 がクラッシュする - #4474

  • 新しくインストールしたパッケージをアンインストールできない - #4435

  • PackageRef に移行すると、ハイブリッド ソリューションで復元動作が正常に実行されません - #4433

  • NuGet 操作 (インストール、更新、復元) を開始した直後にビルドすると、VS がハングすることがある - #4420

  • UI ハング - NuGet.SolutionRestoreManager.RestoreManagerPackage の初期化中のデッドロック - #4371

  • パッケージの追加コマンドで、要素ではなく属性としてバージョンが追加される必要がある - #4325

  • dotnet

    • dotnetcore Restore foo.sln -- SLN の構成によって復元グラフにプロジェクトの重複が発生する (ただし、構成は異なる) ときに失敗する - #4316
  • コンテンツのみのパッケージ - #3668

  • 既定で、パッケージ形式の選択オプションが無効になっている - #4468

  • パフォーマンス: CreateUAP_CSharp_VS.01.1.Create プロジェクトの Duration_TotalElapsedTime が 3,153.570 ミリ秒 (149.1%) 遅くなった。 ベースライン 26129.02 - #4452

  • パフォーマンス: ManagedLangs_CS_DDRIT.0300.Rebuild ソリューションの Duration_TotalElapsedTime が 1.5 秒遅くなった。 ベースライン 26105 - #4441

  • マルチ TFM プロジェクトで候補表示が失敗する - #4419

  • パフォーマンス: WebForms_DDRIT.1200.Close Solution の VM_ImagesInMemory_Total_devenv は 3.000 カウント (0.5%) 低下しました。 ベースライン 26123.04 - #4408

  • vsfeedback - netcoreapp1.1 をターゲットとするときのパックの警告 - #4397

  • 空の ASP.NET Core Web アプリケーションに NuGet パッケージを追加しようとすると、PathTooLongException が発生する - #4391

  • パックの実行頻度が高すぎる -- dotnet

    • ターゲット "Pack" が関係するターゲット依存関係グラフに循環依存の関係が存在するため、dotnetcore pack が失敗する - #4381
  • パックの実行頻度が高すぎる -- NuGet パッケージの生成にすべての構成が含まれていない - #4380

  • C++ プロジェクトで packageref を使用して NuGet を追加するときに NullReferenceException が発生する - #4378

  • アクセシビリティ: ナレーターで、パッケージをインストールするプロジェクトを選択するためのチェックボックスが読み上げられない - #4366

  • NuGet VS17 がときどき VSO/VSTS フィードへの接続に失敗する - VS バグ 365798 - #4365

  • PackagePath が path を "contentFiles" として指定した場合、contentFiles は不適切な場所に出力される - #4348

  • パック ターゲットで、PackageVersion プロパティに VersionSuffix が付加される - #4324

  • パッケージ パスを指定しても dotnet pack で機能しない - #4321

  • NuGet から復元中に重複するインポートに関する警告が出力される - #4304

  • 暗い色のテーマの場合、"NuGet パッケージ マネージャーの形式の選択 "ダイアログが適切に表示されない - #4300

  • ビルドの復元時に VS がクラッシュする - #4298

  • ターゲット フレームワークに TFM を追加して保存しビルドすると、Visual Studio はデッドロックします。 時間の 10% - #4295

  • プロジェクトのパック化に成功しても、NuGet パックから成功メッセージが出力されない - #4294

  • System.IO.Compression 4.1 が見つからないため、PackTask が失敗する - #4290

  • パックの実行頻度が高すぎる - PackTask がファイル アクセスの競合で頻繁に失敗する - #4289

  • NuGet で、バックグラウンドの復元中に出力ウィンドウが開く - #4274

  • ServiceProvider を危険な (ハングを引き起こす可能性がある) コーディング パターンとして削除する - #4268

  • パフォーマンス/UI ハング - DownloadTimeoutStream の読み取りの改善 - #4266

  • NuGet の復元が完了する前にプロジェクトを閉じると、Visual Studio がデッドロックする - #4257

  • PackTask とパッキングに関する問題 .nuspec - #4250

  • [vsfeedback] 新しいプロジェクトで NuGet パッケージを解決できない (Visual Studio を再起動する必要がある) - #4217

  • "vsfeedback" 使用可能なパッケージ バージョンが表示される [バージョン] ドロップ ダウンが、選択した NuGet パッケージと同期状態を保つことが困難 - #4198

  • Nuget.Client は、デッドロックを防ぐために CPS と対話するときに、CPS JoinableTaskFactory を使用する必要がある - #4185

  • NuGet 3.5.0 がパッケージの .targets をアンパックしない - #4171

  • dotnet

    • .csproj で dotnetcore pack がタイトルをサポートしていない - #4150
  • VS2017 RC で Install-Package の結果、エラー ダイアログが表示される - #4127

  • UI が候補から CPS 更新プログラムを取得しないため、.NET Core プロジェクトのパッケージの更新が機能しません。 - #4035

  • 未解決の参照警告を改善する - #3955

  • dotnet

    • dotnetcore pack - ProjectReference でバージョン情報が失われる - #3953
  • UWP アプリ作成プロジェクトを作成し、総経過時間の回帰をリビルドする - #3873

  • 復元中にエラーが発生した後でも、成功の復元メッセージが表示されます。 - #3799

  • Nuget.CommandLine 3.4.4 を Nuget.org に再発行する - #2931

  • 移行時に、プロジェクトが project.json から .csproj に変更される --- 復元に失敗する - #4297

  • 新しく作成された xunit テスト プロジェクトで復元に失敗する - #4296

  • コア プロジェクトがハングし、UI が開いたままロックされることがある - #4269

  • ビルド タスクのターゲット ファイルを修正する - #4267

  • 参照先プロジェクトをアンロードするビルド ソリューションの後にエラー リストにエラーが発生する - #4208

  • MSB4057: ターゲット "_GenerateRestoreGraphProjectEntry" がプロジェクトに存在しません。 - #4194

  • vsfeedback: すべてのプロジェクトを選択するとソリューションがクラッシュする NuGet マネージャー UI - #4191

  • nuget.exe の msbuildpath の末尾にスラッシュがあると、msbuildpath が失敗する - #4180

  • vsfeedback: NuGet の復元で、LinqToTwitter プロジェクトに関するプロジェクト参照の警告を受け取る - #4156

  • .csproj のパックに minClientVersion 属性が含まれていない - #4135

  • VS2017 (d15rel 26014.00) で NuGet.Build.Tasks.Pack.dll は遅延署名された状態でリリースされた - #4122

  • VSFeedback: CMake 3.7.1 で生成された VS 2015 プロジェクトの復元に失敗する - #4114

  • VSFeedback: 復元エラーにより、ビルドで発生する詳細なエラー メッセージがあいまいになることがある - #4113

  • [VSFeedback] Web サイト プロジェクトの NuGet パッケージを復元するときにエラー "値を null にすることはできません" が発生する - #4092

  • 移行時に NuGet.PackageManagement.VisualStudio.SolutionRestoreWorker で "オブジェクト参照の例外" がスローされる - #4067

  • dotnet

    • dotnetcore pack は、パッケージがビルドされたバージョンでツールをパックする必要がある - #4063
  • 新しいバックグラウンド復元で、復元に数秒かかるときに、ステータス バーにミリ秒が書き込まれる - #4036

  • すべてのプロジェクト参照を解決できなかった場合の誤植 - #4018

  • パッケージ参照シナリオで PCM ワークフローを有効にする - #4016

  • パッケージ マネージャーの UI でインストールされたパッケージが見つからない - #4015

  • dotnet

    • PackagePath が空の場合、dotnetcore pack が失敗する - #3993
  • マルチ ユーザー シナリオで復元タスクが失敗する - #3897

  • NuGet パック タスクを使用してパックするときに、コンテンツ タイプを変更できない - #3895

  • MsBuild /t:pack について ContentFiles の既定のコピーが正しくない - #3894

  • インストール パッケージの復元で、パッケージの復元メッセージのログが二重に記録される - #3785

  • Guardrails の削除 - "runtimes" セクションの復元を現在のプロジェクトにのみ適用するようにする - #3768

  • パック タスクで、コンテンツ ファイルが 'content/' と 'contentFiles/' の両方に配置される - #3718

  • dotnet

    • dotnetcore pack3 で、余計なタグ分割が行われる - #3701
  • dotnet

    • dotnetcore pack: パッケージ参照があるプロジェクトのパックで重複インポートの警告が表示される - #3665
  • VS の復元ログ記録が表示されないことがある - #3633

  • nuget locals のヘルプ テキストで、まだパッケージ キャッシュについて言及されている - #3592

  • Restore3 は PackageReferences を TargetFrameworks と結合する。 - #3504

  • VS "15" Preview 4 dev コマンド プロンプトで、Nuget によって予期しないバージョンの MSBuild が選択される - #3408

  • 失敗した復元でターゲット/プロパティ ファイルを書き出す - #3399

  • VS 15 コマンド プロンプトで実行するときに、復元中の NuGet が、MSBuild と同じ互換 shim を使用しない - #3387

  • VS15 の場合に PackFromProjectWithDevelopmentDependencySet を再び有効にする - #3272

  • Blend と NuGet の問題 - #4043

  • 4.0.0.2067 を CLI と SDK リポジトリに統合して RC2 と共にリリースする - #4029

  • 新しいコア コンソール アプリケーションを作成し、ソリューションを終了し、ソリューションを開き、ソリューションを閉じるときに VS がハングする - #4008

  • d15prerel.25916.01 に対してプロジェクトを開こうとするとハングする - #3982

  • dotnet/nuget.exe のローカル ドキュメント/ヘルプ メッセージの修正 - #3919

  • 末尾または先頭の空白に関する問題の PackTask の検査 - #3906

  • dotnet

    • dotnetcore pack が bin ではなく obj からパックを実行する - #3880
  • dotnet

    • dotnetcore pack が ProjectReference のバージョンを常に 1.0.0 に設定しているように見える - #3874
  • dotnet

    • dotnetcore pack が、プロジェクト レファレンスと<TargetFramework> で失敗します - #3865
  • ProjectSystemCache.TryGetProjectNameByShortName の LockRecursionException - #3861

  • MSBuild プロパティから空白を削除する - #3819

  • プロジェクトの読み込み時に発生する 2 つのプロジェクト イベントを統合する - #3759

  • project.assets.json ファイルの P2P ライブラリのバージョンが正しくない - #3748

  • 応答しないフィードと使用できないパッケージによる復元のクラッシュ - #3672

  • 大量の MSBuild エラー出力で、nuget.exe がハングする可能性がある - #3572

  • Blend のビルド時の復元が、初回は失敗し 2 回目に成功する (VS シナリオは固定) - #2121

DCR

  • v2 vsix から v3 vsix への vsix の移行 - #4196

  • MSBuild でロック ファイルへのパスを取得するメカニズムが NuGet に必要 - #3351

  • ビルド アセットを TFM 互換性チェックとアセット ファイルに追加する - #3296

  • パッケージ関連の機能を有効にするためにパック ターゲットに新しい ProjectCapability "パック" を定義する - #4146

  • "GeneratePackageOnBuild" MSBuild プロパティに基づく条件で、ビルド後のターゲットとしてパックを実行する - #4145

  • NuGet プロパティ RestoreProjectStyle を使用して特定の NuGet プロジェクトを作成する - #4134

  • 推移的プロジェクト参照の変更に復元を適応させる - #4076

  • 非 UWP プロジェクトのターゲット ファイルに NuGet プロパティを追加する - #4030

  • UWP TargetPlatformVersion のサポート - #3923

  • プロジェクト参照メタデータを NuGet プロジェクト システムに伝える - #3922

  • パッケージ モードの UI を追加する - #3921

  • 従来の .csproj では、NugetTargetMoniker と RuntimeIdentifier を proj/targets に設定する必要がある - #3854

  • 自動復元時にインストール パッケージが重複することがある - #3836

  • VSPackage が読み込まれない場合にコンテキスト メニュー QueryStatus が生成されない - #3835

  • ソリューションの復元とビルドの復元でダイアログが表示され続ける - #3789

  • NuGet.Clients ソリューション ビルドで VSSDK のバージョンを分離する - #3890

懸案事項リスト 1
懸案事項リスト 2
懸案事項リスト 3
懸案事項リスト 4
懸案事項リスト 5