Пакеты Nuget без менеджера пакетов nuget?
В чем состоит пакет nuget, помимо компилируемых библиотек?
Можно ли загружать эти пакеты без использования диспетчера пакетов и использовать их в другом месте?
Спасибо!
Ответы
Ответ 1
В чем состоит пакет nuget, помимо компилируемых библиотек?
Посмотрите здесь. В основном это файл с расширением .nupkg
, который представляет собой не что иное, как .zip файл, содержащий структуру, описанную в предыдущей ссылке и некоторые метаданные XML.
Можно ли загружать эти пакеты без использования диспетчера пакетов и использовать их в другом месте?
Конечно, просто загрузите файл .nupkg
.
Ответ 2
Вы можете загрузить их из http://packages.nuget.org/api/v1/package/<PACKAGE_YOU_WANT > / с помощью своего браузера.
Вы можете получить имя пакета из: http://packages.nuget.org/Packages
Пример:
Пакет jQuery UI (Combined Library) находится по адресу: http://packages.nuget.org/packages/jQuery.UI.Combined
Чтобы загрузить: http://packages.nuget.org/api/v1/package/jQuery.UI.Combined/
Ответ 3
Основываясь на ответе @Gth685, я сделал расширение Google Chrome, которое добавляет ссылки для загрузки на страницы пакетов http://nuget.org
https://chrome.google.com/webstore/detail/nutake/ibhhbcaipjilldjkhhblhgdedjgoecap?hl=en
Ответ 4
Просто, чтобы все знали, вы можете просто создать учетную запись на nuget.org. После входа в ссылку загрузки появится на левой панели инструментов, которая позволит вам напрямую загрузить любой файл .nupkg.
Ответ 5
Дополнительный комментарий:
После загрузки *.zip(пример jquery) измените окончание с *.zip на *.nupkg, а затем вы сможете установить их с помощью диспетчера пакетов в VS.
Возможно, именно мне пришлось подумать об этом некоторое время. Если нет, надейтесь, что это поможет.
Ответ 6
Извините, это должен быть комментарий, но мне не хватает репутации.
На основе html, созданного расширением Chrome, упомянутого в этом ответе, мы можем улучшить ответ gth685f отметив, что для загрузки пакетов, которые не являются последними, URL-адрес packages.nuget.org/api/v2/package/<PACKAGE_YOU_WANT>/<VERSION_NUMBER>
(обратите внимание также на номер версии с увеличенным числом API).
Ответ 7
Просто добавьте, что V2 api - это тот же формат, что и V1, чтобы загрузить пакет с помощью вашего браузера.
http://packages.nuget.org/api/v2/package//
Ответ 8
Ссылка на NuGet может работать некоторая (большая часть?) времени, но вы также можете столкнуться с проблемами версий. Например, попробуйте добавить пакет NuGet клиентских библиотек Microsoft HTTP в проект .NET 4 и изучить полученный файл csproj
.
Во-первых, вы заметите, что некоторые сборки BCL были преодолены:
- System.IO.dll
- System.Runtime.dll
- 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, но я предполагаю, что это может повлиять на вашу среду сборки.
Ответ 9
Вы также можете использовать инструмент командной строки nuget.exe для загрузки файла nupkg, например:
nuget install packageId
чтобы получить последнюю версию, или
nuget install packageId -Version version
чтобы получить конкретную версию.