2015-09-17 11 views
14

Ho una soluzione di Visual Studio 2015 in cui voglio aggiornare tutti i miei pacchetti Nuget facendo uso del comando Update-Package. La soluzione contiene 38 progetti, posso vedere dalla console di Package Manager che i pacchetti vengono aggiornati, ma il processo è estremamente lento, è in esecuzione da oltre 4 ore.Nuget Update-Package command estremamente lento

In precedenza avevo un problema su un progetto più piccolo in cui l'aggiornamento era lento e alla fine dovevo rimuovere il progetto da TFS, aggiornare i pacchetti e quindi aggiungerlo di nuovo al controllo del codice sorgente. C'è qualche ragione per cui TFS potrebbe causare un rallentamento dell'aggiornamento del pacchetto Nuget?

+0

_ "C'è qualche motivo per cui TFS potrebbe [...] rallentare?" _ - perché si tratta di un sistema di controllo della versione centralizzato, che utilizza HTTP, eseguito su IIS e SQL Server? ;) Sì, sto scherzando, questo stesso sito fa lo stesso. Vedi https://github.com/NuGet/Home/issues/418 per esempio, i tuoi pacchetti sono sotto controllo di versione? – CodeCaster

+0

@CodeCaster I miei pacchetti non dovrebbero essere sotto controllo di versione, ma avranno una rapida occhiata, uno degli sviluppatori potrebbe aver accidentalmente aggiunto la cartella dei pacchetti – user65439

+0

@CodeCaster, la cartella dei pacchetti è stata aggiunta al controllo del codice sorgente. Il processo è ancora abbastanza lento ma ho registrato un problema con Nuget. Sono tornati e hanno confermato che il processo è molto più lento nella nuova versione e che stanno esaminando il problema. Per favore aggiungi il tuo commento come risposta e lo contrassegnerò volentieri come quello corretto. – user65439

risposta

5

Come spiegato in this NuGet issue on GitHub (e in yours), l'aggiornamento dei pacchetti che si trovano sotto il controllo del codice sorgente può richiedere tempi eccessivamente lunghi.

Basta svitare i pacchetti per accelerare il processo.

Accertarsi di memorizzare i pacchetti in un punto nella rete, tuttavia, non continuo a utilizzare NuGet per ospitare questi pacchetti per sempre.

+0

Grazie mille. Mi hai appena salvato da un inferno di attesa. –

2

Per approfondire la risposta di CodeCatser,

  • Assicurarsi che la cartella dei pacchetti non viene aggiunta al controllo del codice sorgente
  • Assicurarsi di non includere i file non necessari all'interno del nodo durante la creazione si possiede pacchetti Nuget (Questo aggiungerà i file al tuo pacchetto, influenzando le dimensioni). Abbiamo aggiunto un sacco di file che potrebbe essere stato a cui fa riferimento l'installazione di pacchetti dipendenti
  • Impostare i -IgnoreDependencies (Quando non ci sono dipendenze) e bandiere -source quando si esegue il comando Update-pacchetto

Prendendo cura di i passaggi sopra menzionati possono migliorare notevolmente la velocità degli aggiornamenti del pacchetto. Abbiamo migliorato le velocità da 4 ore a 25 minuti a 9 minuti.

4

La cartella dei pacchetti è sotto il controllo della fonte a parte, gli aggiornamenti sono ancora estremamente lunghi. Guardando a NuGetGallery GitHub issue 2637, questo verrà corretto in nuget 3.4. Sto testando la versione 3.4.0-rc ora e finora fa un'enorme differenza, quindi le dita incrociate.

+0

VS 2015 'update-package' gira abbastanza lentamente per progetti non banali, e i pacchetti non sono archiviati. C'è una tonnellata di attività di rete anche per singoli aggiornamenti di pacchetti. Speriamo che la soluzione per questo problema risolverà questo problema. – crimbo

+0

Ho anche appena testato con l'ultimo aggiornamento del gestore pacchetti: 3.4.4 e posso confermare che il pacchetto di aggiornamento è ora molto più veloce –