NuGet e il controllo di versione distribuito (DVCS)
-
08-10-2019 - |
Domanda
Mi chiedo se è possibile utilizzare NuGet per memorizzare solo i riferimenti ai pacchetti necessari in controllo di versione (solo il package.config e ignorare la cartella pacchetti).
C'è un modo per dire NuGet a (ri) scaricare tutti i pacchetti di cui si fa riferimento nei vari file package.config? O qualcosa di simile che potrebbe essere messo in uno script di build.
Aggiornamento:
Sembra che io non sono l'unico che ha richiesto questa funzionalità: Vedere questo elemento di lavoro (grazie a PHeiberg per il suggerimento)
Aggiornamento 2:
NuGet ora ha questa caratteristica incorporato. Vedere Utilizzando NuGet senza commettere pacchetti per il controllo di origine per dettagli. Tutto a sinistra è quello di aggiungere la directory dei pacchetti per .gitignore o qualche equivalente del vostro VCS (/packages/
farà il trucco se lo avete nella root della vostra repository e utilizza git).
Soluzione
Ho appena scoperto su NuGetPowerTools: https://github.com/davidfowl/NuGetPowerTools
Si veda anche: http : //blog.davidebbo.com/2011/08/easy-way-to-set-up-nuget-to-restore.html
Aggiornamento: NuGet 1.6 ora supporta pacchetto Restore: http: //docs.nuget .org / docs / release-notes / Nuget-1.6
Altri suggerimenti
Non so circa la vostra prima domanda.
Per quanto riguarda avere un server CI aggiornare automaticamente i pacchetti, è fattibile in teoria. Si potrebbe concatenare "Lista-pacchetto installato dal" ed i comandi "Update-Package" e avere ogni pacchetto aggiornato alla versione più recente. Vedere la di riferimento dei comandi per ulteriori dettagli.
Scott Guthrie dice questo sul tema:
"È possibile integrare la linea di comando opzione con una soluzione di CI e fare un comando update-package esplicitamente come parte del vostro costruire processi / CI a tirare aggiornamenti giù. Francamente io non sono sicuro che abbia un senso per gli scenari che abbiamo stanno parlando, anche se, come di solito si vuole un po 'per decidere dev prima di aggiornare un core runtime la dipendenza a una nuova versione. NuPack di modello di default dovrebbe avere uno sviluppatore utilizzare NuPack installare una libreria - e NuPack controllerebbe automaticamente il pacchetto e le dipendenze a sorgente controllo. In questo modo un'altra dev (o la CI server) non avrebbe bisogno di utilizzare NuPack ancora una volta - potevano solo sincronizzare i loro sorgenti e di costruzione. Ma come ho già detto prima - se si voleva esplicitamente fare un aggiornamento come parte del vostro CI si potrebbe elaborare ".
Modifica
Dopo il tuo commento vedo quello che stai cercando di raggiungere. Ho trovato questa discussione lunga nella lista discussioni NuPack in merito alla questione. Una soluzione sarà a quanto pare non essere parte di v1. Un compito di generazione personalizzata nella CI della vostra scelta e config nella vostra repo perché è l'unica soluzione che vedo. Si prega di segnalare indietro con i risultati. You got me interessa.
C'è una discussione in corso su questa questione a di Phil Haack blog , dove si sta chiedendo un feedback su come affrontare la questione .