Как загрузить пакет Nuget без nuget.exe или расширения Visual Studio?


143

Как я могу скачать пакет NuGet? У меня нет расширения NuGet Visual Studio или программы командной строки nuget.exe. Как я могу загрузить файл .nupack из Интернета? Насколько я понимаю, я смогу извлечь .dllиз него файлы (с помощью 7-zip) и использовать их как обычно.

Пакет, который меня интересует, - это http://nuget.org/packages/Microsoft.Bcl.Async , но я хотел бы знать, как это сделать в целом .

В мире Ruby это было бы просто - каждая страница пакета на веб-сайте RubyGems имеет ссылку для загрузки на файл .gem, например: https://rubygems.org/gems/pony


Споры о явной судьбе NuGet относятся к другому. Для этого вопроса не имеет значения, почему я избегаю этого. Но я не единственный .


8
@JonSkeet: Моя система разработки не подключена к Интернету (по соображениям безопасности), за исключением использования сеанса Windows Terminal Server. Этот WTS разрешает загрузки, но я не могу запускать исполняемые файлы, поэтому для меня нет (удобного) способа получить материалы, доступные только через nuget (по крайней мере, во время работы, во всяком случае).
Gorgsenegger 08

Ответы:


83

Хотя создание URL-адреса или использование инструментов все еще возможно, в этом больше нет необходимости.

https://www.nuget.org/ в настоящее время имеет ссылку для загрузки под названием «Загрузить пакет» , которая доступна, даже если у вас нет учетной записи на сайте.

(внизу правого столбца).


Пример страницы сведений о EntityFramework: https://www.nuget.org/packages/EntityFramework/ : ( Обновлено после комментария kwitee. )

Пример страницы сведений о EntityFramework


1
Думаю, сейчас это должен быть принятый ответ, поскольку он более актуален.
Алексей

2
Я только что попробовал это, и похоже, что ссылка теперь находится справа и называется «Ручная загрузка».
RenniePet

2
К вашему сведению, вы определенно можете использовать 7-zip для извлечения, и он будет обрабатывать тип файла .nupkg, но, поскольку это просто файлы .zip под капотом, вы также можете просто изменить расширение на .zip и просматривать / распаковывать по мере необходимости.
benmccallum

1
Просто имейте в виду, что вам придется загружать все зависимые пакеты вручную, если вы пойдете по этому пути.
Адам

1
Ссылка теперь называется Загрузить пакет .
kwitee

214

Либо создайте учетную запись на веб-сайте Nuget.org, затем войдите в систему, перейдите к нужному пакету и щелкните ссылку « Загрузить» в левом меню.


Или угадать URL. Они имеют следующий формат:

https://www.nuget.org/api/v2/package/{packageID}/{packageVersion}

Затем просто разархивируйте файл .nupkg и извлеките необходимое содержимое.


2
Спасибо, Ксавьер, это сработало. Для библиотеки, которую я хотел, это был nuget.org/api/v2/package/Microsoft.Bcl.Async/1.0.14-rc
полковник Паник,

12
Если вам просто нужен последний пакет, просто не указывайте эту /{packageVersion}часть.
dirkjot

@Muds Вам придется разобрать nuspec и самостоятельно загрузить перечисленные зависимости.
Энди

2
Этот ответ все еще работает, но устарел. См. Ниже: stackoverflow.com/a/32681762/2642204
BartoszKP 04

Как скачать зависимости пакетов?
Мехди Дехгани


12

Чтобы получить текущую стабильную версию пакета NuGet, используйте:

https://www.nuget.org/api/v2/package/{packageID}


6
  1. Перейдите на http://www.nuget.org
  2. Найдите нужный пакет. Например: Microsoft.Owin.Host.SystemWeb.
  3. Загрузите пакет, щелкнув ссылку Загрузить слева.
  4. Выполните шаг 3 для зависимостей, которые еще не установлены. Страница загрузки Nuget
  5. Сохраните все загруженные пакеты в специальной папке. По умолчанию это c: \ Package source.
  6. Откройте диспетчер пакетов Nuget в Visual Studio и убедитесь, что у вас есть «Доступный источник пакета», указывающий на адрес, указанный на шаге 5; Если нет, просто добавьте его, указав собственное имя и адрес. Щелкните ОК. Инструменты-> Управление пакетами NuGet-> Настройки диспетчера пакетов Окно параметров диспетчера пакетов NuGet
  7. На этом этапе у вас должна быть возможность установить пакет точно так же, как вы устанавливаете онлайн-пакет через интерфейс . Вероятно, вы не сможете установить пакет с помощью консоли NuGet.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.