Зачем использовать NuGet для установки библиотек непосредственно на моей машине
Я не понимаю - может кто-нибудь объяснить мне, почему я должен использовать NuGet вместо того, чтобы устанавливать кучу библиотек через setup.exe или MSI? Какое преимущество есть?
Например, лучше установить Entity Framework 4.3 через NuGet, а не загружать настройки? Кроме того, если я устанавливаю инфраструктуру сущности через NuGet, тогда она доступна для любых новых решений или проектов, которые я создаю (немного путают здесь).
В основном, что делает NuGet, что нормальная установка не делает (или наоборот!)
Ответы
Ответ 1
Помимо простого добавления пакета в ваш проект, я считаю, что самым большим преимуществом NuGet является управление зависимостями.
NuGet позволяет владельцам проектов упаковывать свои библиотеки в виде пакетов. Раньше, если бы они зависели от других библиотек, таких как log4net, они включали бы эти сборки в их файл установки /zip и загружали бы на их веб-сайт.
С NuGet они просто добавляют ссылку на эти внешние пакеты в файле .nuspec. Когда NuGet установит пакет, он увидит, что есть зависимости, и будет автоматически загружать и устанавливать эти пакеты. Он также поддерживает управление конфликтами, так что, если 2 пакета зависят от разных версий, он будет определять правильный для установки.
Я думаю, что лучший способ определить, будет ли NuGet работать для вас, - это попытаться использовать его. Я уверен, что как только вы это сделаете, вы поймете, что у него много преимуществ.
Ответ 2
Nuget предоставляет несколько дополнительных преимуществ:
- он автоматически настраивает ваши проекты, добавляя ссылки на необходимые сборки, создавая и добавляя файлы проекта (например, конфигурацию) и т.д.
- он предоставляет обновления пакетов
- он делает все это очень удобно
Ответ 3
Какое преимущество есть?
Nuget упрощает включение третьей библиотеки: с помощью одной командной строки (Install-Package EntityFramework) вы делаете свой пакет доступным для своего проекта. Вместо googling-find пакет-download-setup-reference пакет в вашем проекте...
Автообновление не является обязательным, файл конфигурации Nuget позволяет указать версию или диапазон версий, с которыми совместимо ваше приложение.
Кроме того, если я устанавливаю инфраструктуру сущности через Nuget, тогда она доступна для любых новых решений или проектов, которые я создаю
После установки пакета DLL копируется в каталог на уровне решения, затем вы можете ссылаться на них в других проектах вашего решения.
Для каждого нового решения переустановка пакетов является лучшим решением. Поскольку это очень легко с nuget, это не будет проблемой.
Ответ 4
Nuget вносит свой вклад в создание аддона DLL и заставляет решение выйти из-под контроля очень быстро, особенно когда в игру вступают разные версии так называемых "пакетов". Помимо сборки версий версий, теперь имеются версии пакета nuget. Nuget просто добавляет еще одну оболочку по DLL и не делает ничего, что облегчило бы жизнь разработчиков.