web-dev-qa-db-ja.com

Nuget Update-Packageコマンドが非常に遅い

Update-Packageコマンドを使用してすべてのNugetパッケージを更新するVisual Studio 2015ソリューションがあります。ソリューションには38のプロジェクトが含まれています。パッケージマネージャーコンソールから、パッケージが更新されていることがわかりますが、プロセスは非常に遅く、現在4時間以上実行されています。

以前は、更新が遅い小規模なプロジェクトで問題があり、最終的にTFSからプロジェクトを削除し、パッケージを更新してから、ソース管理に追加し直す必要がありました。 TFSがNuget-Packageの更新を遅くする理由はありますか?

22
Andre Lombaard

GitHubのこのNuGetの問題 (および yours )で説明されているように、ソース管理下にあるパッケージの更新には、非常に時間がかかる場合があります。

プロセスをスピードアップするには、パッケージのバージョンを解除するだけです。

ただし、パッケージをネットワーク内のどこかに保存してください。ただし、これらのパッケージをホストしているNuGetに永遠に依存しているわけではありません。

4
CodeCaster

Packagesフォルダーはソース管理の下にありますが、更新には依然として非常に長い時間がかかります。 NuGetGallery GitHub issue 2637 を見ると、これはnuget 3.4で修正される予定です。私は今3.4.0-rcバージョンをテストしていますが、これまでのところ大きな違いがあるため、指を交差させました。

5

CodeCatserの答えを詳しく説明するには、

  • パッケージフォルダーがソース管理に追加されていないことを確認してください
  • 独自のNugetパッケージを作成するときは、ノード内に不要なファイルを含めないでください(これにより、ファイルがパッケージに追加され、サイズに影響します)。依存パッケージをインストールすることで参照される可能性がある多くのファイルを追加しました
  • Update-Packageコマンドの実行時に-IgnoreDependencies(依存関係がない場合)および-Sourceフラグを設定します

上記の手順を実行することにより、パッケージの更新速度を大幅に向上させることができます。速度を4時間から25分に、9分に改善しました。

4
Andre Lombaard

https://www.nuget.org/downloads for VS2015からNuget Package Managerのv3.6.0をダウンロードします。

私はv3.4.4をインストールしていて、ソリューションのパッケージを更新するのに2時間以上かかっていましたが、数分かかるようになりました。

VS2015内の拡張機能と更新プログラムで、NuGet Package Managerをオンラインで検索しても、v3.4.4を超えるものは何も表示されません。

1
CaptainMuffin