2014-07-17 22 views
12

Prima di tutto, mi scuso se questa è una domanda fondamentale. Ho provato a cercare questo, ma per qualche motivo, sono diventato più confuso. Quindi, ho deciso di chiedere qui. Un file dll e un pacchetto nuget sono uguali? Sono entrambi referenziati nel progetto?Qual è la differenza tra un pacchetto dll e nuget?

risposta

15

Quando si aggiungono funzionalità al progetto tramite un pacchetto nuget, si aggiungono solo file al progetto. Possono essere file javascript (come jQuery), DLL che il tuo progetto fa riferimento (come Newtonsoft JSON), o un sacco di cose (come Entity Framework o Owin/SignalR) - qualcosa di veramente.

Il vantaggio di utilizzare il sistema di pacchetti nuget è che tiene traccia di tutto per te. Ti informa se i tuoi pacchetti aggiunti hanno ricevuto un aggiornamento, rimuove i file e li ignora se estrai il pacchetto dal tuo progetto. Gestisce tutto questo per te, quindi non devi tenere traccia dei file aggiunti dal pacchetto nuget, metterli in cartelle speciali, assicurarti che vengano copiati nei tuoi build, tutto quel materiale di micromanaging.

+0

quindi è sempre meglio usare un riferimento alle DLL rispetto ai pacchetti di nuget quando entrambi sono disponibili? – niico

+1

niico - io uso i pacchetti di nuget ogni volta che posso. Rende facile rimuovere pacchetti (riferimenti) senza preoccuparsi di ripulire le DLL in una directory da qualche parte. L'integrazione VS mi consente di sapere quando i riferimenti a nuget hanno aggiornamenti su di loro. Preferisco davvero Nuget contro il solo cadere in un file di riferimento. – Jason

+0

una nota rilevante: MS ha recentemente iniziato a riferirsi a nuget come "gestore di pacchetti lato server" e sta spingendo bower e altri gestori di pacchetti client per librerie lato client come JQuery (anche se talvolta sono disponibili tramite nuget). – niico

6

Dai documenti, https://www.nuget.org.

"Qual è NuGet? NuGet è il gestore di pacchetti per la piattaforma di sviluppo Microsoft .NET compreso. Gli strumenti client Nuget forniscono la capacità di produrre e consumare pacchetti. La Galleria NuGet è il repository pacchetto centrale usato da tutti gli autori di pacchetti e i consumatori. "


Un pacchetto può contenere uno o più DLL in aggiunta ad altre attività come ad esempio i file di configurazione, ecc

1

È possibile aggiungere le librerie tramite riferimento nel progetto, ma non si nota quando sono stati aggiornati .

NuGet è un'estensione di Visual Studio che semplifica l'accesso non solo alle librerie ma ai componenti e, soprattutto, alla loro configurazione nel progetto di Visual Studio. Ti aiuterà a gestire i tuoi pacchetti installati sul tuo progetto e ti notificherà quando il pacchetto ha la nuova versione rilasciata.

Diciamo che ho creato la mia DLL, potrei aggiungere la mia DLL per riferimento. Tuttavia, non sarà disponibile in NuGet fino a quando non impacchettamento e prima di pubblicarlo per renderlo disponibile nella Galleria pacchetti NuGet.