Встановіть пакет Nuget у коді Visual Studio


191

Як я можу встановити пакунок Nuget у коді Visual Studio? Я знаю, що в Visual Studio ми можемо це зробити за допомогою консолі Nuget Package Manager, але як це зробити в коді VS?


Ви спробували це розширення: marketplace.visualstudio.com/… Крім того, ви можете завантажити нугет з їх веб-сайту та використовувати його з консолі.
JNK

Я вважаю за краще консоль, оскільки розширення не має гарних відгуків
Gyan Parkash

Те, як я це роблю, - це використовувати nuget.org, шукати і просто використовувати PackageReference (розміщений з іншими параметрами розстрочки). Працює досить непогано, і ви отримуєте хороший інтерфейс користувача, щоб створити його самотужки.
mslot

Відповіді:


224

З командного рядка або вікна Terminal в редакторі коду dotnet add package Newtonsoft.Json

Дивіться цю статтю Скотта Хензельмана


2
Зауважте, що це буде працювати лише на нових .Net Core SDK 1.0 на базі csproj, але не на старих попередніх версіях попереднього перегляду на базі project.json.
svick

2
Це, на жаль, не підтримує пошук або не завершує автоматичне завершення. Тобто ви повинні знати точне написання назви пакета.
Андрій Савіних

4
Ви можете перейти на nuget.org для пошуку пакетів, як це можливо зробити в Visual Studio, а потім скористатися командним рядком, щоб встановити потрібний пакет.
MikeBeaton

76

Ви можете використовувати розширення NuGet Package Manager .

Після встановлення для додавання пакета натисніть Ctrl + Shift + P і введіть >nugetта натисніть Enter:

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

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

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

Виберіть пакет:

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

І нарешті версія пакета (ви, мабуть, хочете найновішу):

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


2
Здається, це розширення не підтримує нову функцію робочих просторів
Кріс Олександр

1
Це розширення, здається, з'явилося на ринку, тільки що встановив його і працює для мене чудово.
Нульова довідка

3
22 червня 2019 року: " Це розширення тепер не публікується з Marketplace. Ви можете видалити його. " 2 ¢.
ruffin

Наведене вище посилання вказує на ".Net Core Project Manager (Nuget)" - спробуйте: marketplace.visualstudio.com/…
samis

29

Ви можете це зробити легко, використовуючи "vscode-nuget-package-manager". Зайдіть на ринок і встановіть це. Після того

1) Натисніть Ctrl + P або Ctrl + Shift + P (і пропустіть 2)

2) Введіть ">"

3) Потім виберіть "Nuget Package Manager: Add Package"

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 безкоштовний (і справді мається на увазі як редактор), тому я не скаржусь. Було б інакше, якби я мав це робити в VS.
Кріс Кейвелл

1
Справедливий пункт. Так ви редагуєте проекти C # повністю у VSCode без встановленої версії Visual Studio? Або створити проект у Visual Studio (із файлами sln + csproj), а потім просто використовувати VSCode як редактор? Я здогадуюсь, якщо ви просто використовуєте dotnetі VSCode, то навіщо вам навіть потрібні ці файли проекту.
Давос

1
Ні, я фактично використовую Visual Studio 2010 та 2015, хоча віддаю перевагу 2010 року. Все моє справжнє кодування також зберігається в сховищах Git. Код VS - це більше для розгляду в моїй системі Ubuntu.
Кріс Кейвл

8

Nuget Galleryзабезпечує графічний інтерфейс, подібний до повної Visual Studio. Дивись нижче.

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

Як використовувати:

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

ОНОВЛЕННЯ

Раніші версії, як зазначалося в коментарях, мали проблему, коли .csprojпрапорець не було видно, коли в пакеті у файлі csproj відсутній номер версії, як показано нижче.

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

Це було виправлено у нових версіях розширення, тому якщо у вас є старіша версія з цим випуском, оновіть її до останньої версії.


Ах, це цікаво. У .csprojпоточній версії немає опції галочки файлів. Можливо, це моя проблема. github.com/pcislo/vscode-nuget-gallery/isissue/15
woter324

Привіт @ woter324, проблема неставлення прапорця була ідентифікована як деякі пакети у .csprojвідсутніх номерах версій. Дивіться коментар випуску . Я оновив свою відповідь, щоб включити її.
Мойсей Мачуа

Дякую! Це було саме те, що мені потрібно було мати можливість встановити пакет Microsoft.Windows.Compatibility! Ця галерея Nuget насправді працює з .NET Core 3.1.2! Тож тепер я можу використовувати OleDbConnection, щоб відкрити з'єднання з базою даних MS Access, використовуючи .NET Core для інших речей Visual Studio Code! Класно!
Джон Фолл

Я перевірив останню версію, і у неї більше немає проблем з відсутніми номерами версій
Мойсей Мачуа,

6
  1. Встановити NuGet Package Manager
  2. Ctrl+Shift+Pв Windows або Command+Shift+PMac
  3. Шукайте менеджера пакунків NuGet: додайте пакет
  4. Введіть назву пакета, тобто AutoMapper
  5. Виберіть пакет та версію
  6. Відновіть, якщо потрібно

1

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

Приклад JSON:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}

1

Наведені вище відповіді хороші, але недостатньо, якщо у вас є більше 1 проекту (.csproj) в одній папці.

По-перше, ви легко додаєте тег "PackageReference" до файлу .csproj (вручну, за допомогою менеджера пакетів пакетів або за допомогою команди команд пакета dotnet add).

Але потім вам потрібно запустити команду «відновити» вручну, щоб ви могли сказати, який проект ви намагаєтесь відновити (якщо я просто натиснув кнопку відновлення, що спливає, нічого не сталося). Це можна зробити, запустивши:

dotnet restore Project-File-Name.csproj

І це встановлює пакет

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.