Пакеты Nuget без менеджера пакетов nuget?

Из чего на самом деле состоит пакет nuget, кроме скомпилированных библиотек?

Можно ли загрузить эти пакеты без использования диспетчера пакетов и использовать их в другом месте?

Спасибо!


person virtualmic    schedule 20.04.2011    source источник


Ответы (9)


Из чего на самом деле состоит пакет nuget, кроме скомпилированных библиотек?

Посмотрите здесь. По сути, это файл с расширением .nupkg, который представляет собой не что иное, как файл .zip, содержащий структуру, описанную в предыдущей ссылке, и некоторые метаданные xml.

Можно ли загрузить эти пакеты без использования диспетчера пакетов и использовать их в другом месте?

Конечно, просто скачайте файл .nupkg.

person Darin Dimitrov    schedule 20.04.2011
comment
Спасибо за ответ, Дарин! Однако я не могу найти ссылку для загрузки файла .nupkg, скажем, nuget.org/List/ Пакеты/EntityFramework - person virtualmic; 20.04.2011
comment
@virtualmic, здесь: packages.nuget.org/v1/Package/Download /EntityFramework/ - person Darin Dimitrov; 20.04.2011
comment
@Дарин Димитров, как ты смог узнать URL-адрес пакета? - person RationalGeek; 20.09.2011
comment
Для конкретной версии пакета: packages.nuget.org/api/v1/package /ПАКЕТ_ВЫ_ХОТИТЕ/ - person Daniel Conde Marin; 04.09.2013
comment
Ссылка работает отлично, просто введите правильное имя пакета и версию... например: packages.nuget.org/api/v1/package/entityframework/6.1.1 - person TomSmartBishop; 31.07.2015

Вы можете загрузить их с http://packages.nuget.org/api/v1/package/‹PACKAGE_YOU_WANT›/ в браузере.

Имя пакета можно получить по адресу: http://packages.nuget.org/Packages.

Пример: пакет jQuery UI (комбинированная библиотека) находится по адресу: http://packages.nuget.org/packages/jQuery.UI.Combined Чтобы загрузить: http://packages.nuget.org/api/v1/package/jQuery.UI.Combined/

person gth685f    schedule 05.01.2012

Основываясь на ответе @ Gth685, я сделал расширение Google Chrome, которое добавляет ссылки для скачивания на страницы пакетов на http://nuget.org.

https://chrome.google.com/webstore/detail/nutake/ibhhbcaipjilldjkhhblhgdedjgoecap?hl=en< /а>

person Colonel Panic    schedule 20.02.2013

Чтобы все знали, вы можете просто создать учетную запись на nuget.org. После входа в систему на левой панели инструментов появится ссылка для загрузки, которая позволит вам напрямую загрузить любой файл .nupkg.

person Mike Lorenzana    schedule 03.02.2014

Дополнительный комментарий: после загрузки *.zip (пример jquery) измените окончание с *.zip на *.nupkg, и тогда вы сможете установить их с помощью диспетчера пакетов в VS. Возможно, это только я должен был подумать об этом некоторое время. Если нет, надеюсь, это поможет.

person Anja    schedule 09.04.2013

Извините, это должен быть комментарий, но мне не хватает представителя.

На основе HTML-кода, сгенерированного расширением Chrome, упомянутым в этом ответе, мы можем улучшить ответ gth685f, отметив, что для загрузки не последних пакетов используется URL-адрес packages.nuget.org/api/v2/package/<PACKAGE_YOU_WANT>/<VERSION_NUMBER> (также обратите внимание на увеличенный номер версии API).

person quintessential5    schedule 16.05.2013

Просто добавим, что API V2 имеет тот же формат, что и V1, для загрузки пакета с помощью браузера.

http://packages.nuget.org/api/v2/package//

person Max    schedule 05.07.2012

Ссылка на NuGet может работать некоторое (большинство?) время, но вы также можете столкнуться с проблемами управления версиями. Например, попробуйте добавить пакет NuGet Microsoft HTTP Client Libraries в .NET. 4 и изучите полученный файл csproj.

Во-первых, вы заметите, что некоторые сборки BCL были переопределены:

  1. System.IO.dll
  2. System.Runtime.dll
  3. System.Threading.Tasks

И теперь все ссылающиеся проекты также должны использовать эти переопределения (поскольку вы не можете ссылаться на несколько версий одной и той же сборки). Помимо прочего, это означает, что вы потеряете обновления для этих сборок (если также не будет обновлен пакет BCL NuGet).

Вы также заметите, что ваш csproj содержит следующую запись (она не будет работать, если вы ее удалите):

<Import Project="..\packages\Microsoft.Bcl.Build.1.0.13\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.13\tools\Microsoft.Bcl.Build.targets')" />

Я не разбираюсь в MSBuild, но предполагаю, что это может повлиять на вашу среду сборки.

person Ohad Schneider    schedule 06.02.2014

Вы также можете использовать инструмент командной строки nuget.exe для загрузки файла nupkg, например:

nuget install packageId

получить последнюю версию или

nuget install packageId -Version version

чтобы получить конкретную версию.

person Fei Ling    schedule 04.02.2014