私たちは、内部で構築されたパッケージとサードパーティのパッケージの両方で、NuGet の熱心なユーザーです。
最近、一部のビルド プロジェクトで NuGet パッケージの復元オプションを有効にして、ソース管理にコミットするバイナリ ファイルの量を減らし始めましたが、問題に直面しています。
Visual Studio の起動に非常に長い時間がかかり、一度起動すると (30 分以上かかる場合があります)、その後のビルドにも同様に時間がかかります。これが発生している間、プロセス エクスプローラーで多くの子 NuGet プロセスが表示されたり停止したりするのを確認できます。
packages.config ファイルで参照されているパッケージのバージョンが、構成されたパッケージ ソースのいずれからも利用できない場合 (おそらく、内部パッケージの古いバージョンであり、誰かがローカル リポジトリをクリーンアップしてくれている可能性があります) を発見しました。 、NuGet と Visual Studio がある種の無限 (または少なくとも実行時間の長い) 再試行ループに入るように見えます。
コマンド ラインから NuGet インストール コマンドを実行すると、エラーが返されます。
>.nuget\NuGet.exe install project\packages.config -o packages
Unable to find version '1.0.0.1' of package 'my.internal.package'.
しかし、これは Visual Studio/NuGet によって正しく消費されていないようです。
- NuGet はそのアクションをどこかに記録しますか?
- NuGet の復元の再試行またはタイムアウトを制限できますか (おそらく
nuget.targets
ファイルで?) - NuGet のセマンティック バージョニングが使用されていないように見えます。上記のシナリオでは 1.0.0.2 がレポから入手できるため、これを有効にできますか?