2013-03-07 5 views
8

Forse sto facendo qualcosa di sbagliato o esprimendo pura ignoranza qui, ma non posso davvero vedere come i pacchetti di Nuget sono vantaggiosi? Recentemente ho deciso di installare un numero di pacchetti Nuget per sostituire le DLL statiche nella mia applicazione. Quando controllo le cartelle create dai pacchetti, sembrano includere molte versioni diverse della DLL tutte nidificate sotto una serie di sottodirectory.Qual è il punto dei pacchetti Nuget?

Non tutti questi file, molti dei quali sembrano ridondanti, aumentano la dimensione complessiva dell'applicazione e rallentano la routine di pubblicazione e distribuzione? Inoltre quali oggetti dovrebbero essere inseriti nel controllo del codice sorgente?

Come ho detto potrei mancare qualcosa qui ma qualcuno può illuminarmi sulle virtù dei pacchetti Nuget? Sto iniziando a pensare che una semplice dll nella cartella bin funzionasse perfettamente?

risposta

8
  1. Ogni pacchetto sa quali altri pacchetti - e in particolare quali versioni dello stesso - dipende. Ciò aiuta a garantire che tutte le librerie siano compatibili.
  2. È ancora solo dovrebbe distribuire la versione DLL è effettivamente necessario
  3. Si può decidere di non mettere alcun DLL nel vostro controllo del codice sorgente, perché NuGet ha un "pacchetto Restore" funzione che carica automaticamente i pacchetti mancanti su build.
  4. Hai un posto centrale per tutte le tue dipendenze: basta fare clic destro sul progetto e scegliere i pacchetti necessari. Non è più necessario cercare collegamenti per il download, ecc.
+1

+1 per non inviare le DLL al controllo del codice sorgente. –

+0

Grazie Daniel, l'aspetto del controllo della sorgente era il problema con cui ho lottato. Come distribuire selettivamente solo le DLL necessarie. Devo passare attraverso le DLL dei pacchetti in VS e selezionare manualmente non compilare? – QFDev

+3

@QF_Developer: quando Visual Studio crea il progetto, copia tutte le DLL necessarie nella cartella bin. Questo è ciò che distribuisci. Vedrai che non avrai più DLL dello stesso pacchetto nella cartella bin. –