Установите пакет Nuget в коде Visual Studio

192

Как я могу установить пакет Nuget в коде Visual Studio? Я знаю, что в Visual Studio мы можем сделать это через консоль диспетчера пакетов Nuget, но как мне это сделать в VS Code?

Гьян Паркаш
источник
Вы пробовали это расширение: marketplace.visualstudio.com/… Кроме того, вы можете скачать nuget с их сайта и использовать его с консоли.
JNK
Я бы предпочел консоль, потому что расширение не имеет хороших отзывов
Гьян Паркаш
Я делаю это, используя nuget.org, выполняю поиск и просто использую PackageReference (находится в других вариантах рассрочки). Работает довольно хорошо, и вы получаете хороший интерфейс для самого nuget.
mslot

Ответы:

225

Из командной строки или окон терминала в редакторе кода dotnet add package Newtonsoft.Json

Смотрите эту статью Скотт Хансельман

Джефф Альбрехт
источник
2
Обратите внимание, что это будет работать только на новом .Net Core SDK 1.0 на основе csproj, но не на старых предварительных версиях на основе project.json.
svick
2
Это, к сожалению, не поддерживает поиск или автозаполнение. То есть вы должны знать точное написание имени пакета.
Андрей Савиных,
4
Вы можете перейти на nuget.org для поиска пакетов, как это можно сделать в Visual Studio, а затем с помощью командной строки установить нужный пакет.
MikeBeaton
76

Вы можете использовать расширение диспетчера пакетов NuGet .

После того, как вы установили его, чтобы добавить пакет, нажмите Ctrl + Shift + P, введите >nugetи нажмите Enter:

введите описание изображения здесь

Введите часть имени вашего пакета в качестве строки поиска:

введите описание изображения здесь

Выберите пакет:

введите описание изображения здесь

И, наконец, версия пакета (вы, вероятно, хотите самую новую):

введите описание изображения здесь

sashoalm
источник
2
Это расширение, похоже, не поддерживает новую функцию рабочих пространств
Крис Александр
1
Это расширение, кажется, вернулось на рынок, только что установило его и прекрасно работает для меня.
Нулевая ссылка
3
22 июня 2019 года: « Теперь это расширение не опубликовано в Marketplace. Вы можете удалить его». 2 ¢.
ruffin
Приведенная выше ссылка указывает на «.Net Core Project Manager (Nuget)» - попробуйте: marketplace.visualstudio.com/…
Самис
29

Вы можете сделать это легко с помощью "vscode-nuget-package-manager". Перейти на рынок и установить это. После этого

1) Нажмите Ctrl + P или Ctrl + Shift + P (и пропустите 2)

2) Тип ">"

3) Затем выберите «Диспетчер пакетов Nuget: Добавить пакет»

4) Введите название пакета Например: Dapper

5) выберите название пакета и версию

6) Готово.

Рошан Перера
источник
24

Откройте меню расширений (Ctrl + Shift + X) и выполните поиск .NuGet Package Manager.

Евгений Знагован
источник
Странно этот менеджер не может найти Microsoft.AspNetCore.Server.Kestrel. Ниже решение работает.
Алексей Концевич
Больше не работает с момента перехода на .csproj формат файла.
За Лундберг
Я не вижу это расширение при поиске.
Давос
13

Пример для файла .csproj

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" />
    <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="7.0.7-m61" />
  </ItemGroup>

Просто получите имя пакета и номер версии от NuGet и добавьте в .csproj, затем сохраните. Вам будет предложено запустить восстановление, которое будет импортировать новые пакеты.

Крис Кавелл
источник
9
Я уверен, что это работает, но необходимость редактировать XML вручную кажется позором.
Давос
1
Правда, но VS Code бесплатен (и действительно подразумевается как редактор), поэтому я не жалуюсь. Было бы иначе, если бы я должен был сделать это в VS.
Крис Кавелл
1
Честная оценка. Так вы редактируете проекты C # полностью в VSCode без какой-либо установленной версии Visual Studio? Или создать проект в Visual Studio (с файлами sln + csproj), а затем просто использовать VSCode в качестве редактора? Я предполагаю, что если вы просто используете dotnetVSCode, тогда зачем вам эти файлы проекта?
Давос
1
Нет, я на самом деле использую Visual Studio 2010 и 2015. Хотя предпочитаю 2010. Все мое реальное кодирование также хранится в репозиториях Git. VS Code больше подходит для моей системы Ubuntu.
Крис Кавелл
8

Nuget Galleryпредоставляет графический интерфейс, похожий на полный Visual Studio. Увидеть ниже.

введите описание изображения здесь

Как пользоваться:

  1. Установить Nuget Galleryс расширением Marketplace.
  2. Запустите из строки меню View > Command Paletteили ⇧⌘P (Ctrl + Shift + P в Windows и Linux). Тип Nuget: Open Gallery.
  3. GUI выше отображается. Вы можете фильтровать как в обычной Visual Studio.
  4. Убедитесь, что .csproj fileфлажок установлен, выберите версию из выпадающего списка и нажмите кнопку «Установить».

ОБНОВИТЬ

В более ранних версиях, как отмечалось в комментариях, была проблема, когда .csprojфлажок не отображался, когда в пакете в файле csproj отсутствовал номер версии, как показано ниже.

<PackageReference Include="Microsoft.AspNetCore.App" />

Это было исправлено в более новых версиях расширения, поэтому, если у вас есть более старая версия с этой проблемой, обновите ее до последней версии.

Моисей Мачуа
источник
Ааа, это интересно. В .csprojтекущей версии опция галочки файла отсутствует . Может быть, в этом моя проблема. github.com/pcislo/vscode-nuget-gallery/issues/15
woter324
Привет @ woter324, проблема с тем, что флажок не показывался, была идентифицирована как некоторые пакеты, .csprojне имеющие номеров версий. Смотрите комментарий к проблеме . Я обновил свой ответ, чтобы включить это.
Моисей Мачуа
Спасибо! Это было как раз то, что мне нужно, чтобы иметь возможность установить пакет Microsoft.Windows.Compatibility! Эта галерея Nuget фактически работает с .NET Core 3.1.2! Так что теперь я могу использовать OleDbConnection, чтобы открыть соединение с базой данных MS Access, в то же время используя .NET Core для других вещей в коде Visual Studio! Прохладно!
Джон Фолл
Я протестировал последнюю версию, и у нее больше нет проблем с отсутствующими номерами версий
Моисей Мачуа,
6
  1. Установите менеджер пакетов NuGet
  2. Ctrl+Shift+Pна Windows или Command+Shift+Pна Mac
  3. Поиск диспетчера пакетов NuGet: Добавить пакет
  4. Введите название пакета, т.е. AutoMapper
  5. Выберите пакет и версию
  6. Восстановить при необходимости
Райан Эфенди
источник
1

Измените файл project.json или * .csproj. Добавьте запись зависимости с именем пакета и желаемой версией.

Пример JSON:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}
Маурисио Авилес
источник
1

Ответы выше хороши, но недостаточны, если у вас есть более 1 проекта (.csproj) в одной папке.

Во-первых, вы легко можете добавить тег «PackageReference» в файл .csproj (либо вручную, с помощью диспетчера пакетов nuget, либо с помощью команды добавления пакета dotnet).

Но затем вам нужно вручную запустить команду «restore», чтобы вы могли сказать ей, какой проект вы пытаетесь восстановить (если я просто нажал на кнопку восстановления, которая всплыла, ничего не произошло). Вы можете сделать это, запустив:

dotnet restore Project-File-Name.csproj

И это устанавливает пакет

Gool
источник