Прежде всего, я прошу прощения, если это основной вопрос. Я попытался посмотреть на это, но почему-то я смутился. Итак, я решил спросить здесь. Является ли файл dll и пакет nuget одинаковым? Они оба просто ссылаются в проекте?
Какая разница между пакетом dll и nuget?
Ответ 1
Когда вы добавляете функции в свой проект с помощью пакета nuget, вы просто добавляете файлы в свой проект. Это могут быть файлы JavaScript (например, jQuery), библиотеки DLL, на которые ссылается ваш проект (например, Newtonsoft JSON), или целая куча вещей (например, Entity Framework или Owin/SignalR) - что угодно.
Преимущество использования системы пакетов nuget состоит в том, что она отслеживает все это для вас. Он уведомляет вас, если ваши добавленные пакеты получили обновление, удаляет файлы и отменяет ссылки на них, если вы удалили пакет из своего проекта. Он обрабатывает все это для вас, поэтому вам не нужно отслеживать файлы, добавленные пакетом nuget, помещать их в специальные папки, следить за тем, чтобы они копировались в ваши сборки, и все эти микроуправляемые вещи.
Ответ 2
Из документов https://www.nuget.org.
"Что такое NuGet? NuGet - это менеджер пакетов для Microsoft включая платформу .NET. Инструменты клиента NuGet предоставляют способность производить и потреблять пакеты. Галерея NuGet - это центральный репозиторий пакетов, используемый всеми авторами и потребителями пакетов".
Пакет может содержать одну или несколько dll в дополнение к другим активам, таким как файлы конфигурации и т.д.
Ответ 3
Вы можете добавлять библиотеки через ссылку в свой проект, но вы не заметите, когда они будут обновлены.
NuGet - это расширение Visual Studio, которое позволяет легко вставлять не только библиотеки, но и компоненты, а самое главное их конфигурацию в проект вашей визуальной студии. Это поможет вам управлять пакетами, установленными в вашем проекте, и будет уведомлять вас о выпуске новой версии пакета.
Скажем, я создал свою собственную DLL, я мог бы добавить свою собственную DLL по ссылке. Однако он не будет доступен в NuGet, пока я не упакую и не опубликую его сначала, чтобы сделать его доступным в галерее пакетов NuGet.