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
への参照を削除するためのサポート - #4101PackageReference プロジェクト (通常と xplat) と Lightweight ソリューション読み込みの復元をサポートする - #4003
コマンドラインからの
.csproj
への参照を追加する機能のサポート - #3751packages.config
orproject.json
の NuGet 復元のライトウェイト ソリューション ロードのサポート - #3711nuget で生成されたターゲット ファイルの 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
をアンパックしない - #4171dotnet
.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 属性が含まれていない - #4135VS2017 (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
RTM で修正された GitHub の問題へのリンク
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示