Zainstaluj pakiet Nuget w programie Visual Studio Code


191

Jak mogę zainstalować pakiet Nuget w programie Visual Studio Code? Wiem, że w Visual Studio możemy to zrobić za pomocą konsoli Menedżera pakietów Nuget, ale jak to zrobić w VS Code?


Czy wypróbowałeś to rozszerzenie: marketplace.visualstudio.com/... Alternatywnie możesz pobrać nuget ze strony internetowej i używać go z konsoli.
JNK

wolałbym konsolę, ponieważ rozszerzenie nie ma dobrych recenzji
Gyan Parkash

Sposób, w jaki to robię, to użycie nuget.org, wyszukiwanie i po prostu użycie PackageReference (znajduje się w innych opcjach ratalnych). Działa całkiem nieźle, a Ty masz dobry interfejs dla samego siebie.
mslot

Odpowiedzi:


224

Z wiersza polecenia lub okna terminalu w edytorze vs vs code dotnet add package Newtonsoft.Json

Zobacz ten artykuł autorstwa Scotta Hanselmana


2
Należy pamiętać, że będzie to działać tylko w nowym .Net Core SDK 1.0 opartym na csproj, ale nie w starych wersjach podglądu opartych na project.json.
svick

2
To niestety nie obsługuje wyszukiwania ani autouzupełniania. Oznacza to, że musisz znać dokładną pisownię nazwy pakietu.
Andrew Savinykh,

4
Możesz przejść do nuget.org, aby przeszukać pakiety, tak jak w Visual Studio, a następnie użyć wiersza polecenia, aby zainstalować żądany pakiet.
MikeBeaton,

76

Możesz użyć NuGet Package Manager .

Po zainstalowaniu, aby dodać pakiet, naciśnij Ctrl + Shift + P, a następnie wpisz >nugeti naciśnij Enter:

wprowadź opis zdjęcia tutaj

Wpisz część nazwy pakietu jako ciąg wyszukiwania:

wprowadź opis zdjęcia tutaj

Wybierz pakiet:

wprowadź opis zdjęcia tutaj

I na koniec wersja pakietu (prawdopodobnie chcesz najnowszą):

wprowadź opis zdjęcia tutaj


2
Wydaje się, że to rozszerzenie nie obsługuje nowej funkcji obszarów roboczych
Chris Alexander

1
To rozszerzenie wydaje się znów dostępne na rynku, właśnie je zainstalowałem i działa dla mnie dobrze.
zerowy numer referencyjny

3
22 czerwca 2019 r .: „ To rozszerzenie nie jest już publikowane w Marketplace. Możesz go odinstalować. ” 2 ¢.
ruffin

Powyższy link wskazuje na „.Net Core Project Manager (Nuget)” - spróbuj: marketplace.visualstudio.com/...
samis

29

Możesz to łatwo zrobić za pomocą „vscode-nuget-package-manager”. Wejdź na rynek i zainstaluj to. Po tym

1) Naciśnij Ctrl + P lub Ctrl + Shift + P (i pomiń 2)

2) Wpisz „>”

3) Następnie wybierz „Menedżer pakietów Nuget: Dodaj pakiet”

4) Wprowadź nazwę pakietu Ex: Dapper

5) wybierz nazwę i wersję pakietu

6) Gotowe.


24

Otwórz menu rozszerzeń (Ctrl + Shift + X) i wyszukaj .NuGet Package Manager.


Dziwne, że ten menedżer nie może znaleźć Microsoft.AspNetCore.Server.Kestrel. Poniższe rozwiązanie działa.
Aleksey Kontsevich

Nie działa już od czasu migracji do formatu pliku .csproj.
Per Lundberg

Nie widzę tego rozszerzenia podczas wyszukiwania.
Davos,

13

Przykład pliku .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>

Wystarczy pobrać nazwę pakietu i numer wersji z NuGet i dodać do .csproj, a następnie zapisać. Zostaniesz poproszony o uruchomienie przywracania, które zaimportuje nowe pakiety.


9
Jestem pewien, że to działa, ale konieczność ręcznej edycji XML-a wydaje się wstydem.
Davos,

1
To prawda, ale VS Code jest darmowy (i tak naprawdę miał być edytorem), więc nie narzekam. Byłoby inaczej, gdybym musiał to zrobić w VS.
Chris Cavell,

1
Uczciwy punkt. Więc edytujesz projekty C # całkowicie w VSCode bez zainstalowanej żadnej wersji Visual Studio? Lub tworzenie projektu w Visual Studio (z plikami sln + csproj), a następnie użycie VSCode jako edytora? Zgaduję, że jeśli po prostu użyjesz dotneti VSCode, to dlaczego miałbyś w ogóle potrzebować tych plików projektu.
Davos,

1
Nie, faktycznie używam Visual Studio 2010 i 2015. Wolę jednak 2010. Całe moje prawdziwe kodowanie jest również przechowywane w repozytoriach Git. VS Code to więcej do zabawy na moim systemie Ubuntu.
Chris Cavell,

8

Nuget Galleryzapewnia GUI podobny do pełnego Visual Studio. Patrz poniżej.

wprowadź opis zdjęcia tutaj

Jak używać:

  1. Zainstaluj Nuget Galleryz rynku rozszerzeń.
  2. Uruchom z paska menu View > Command Palettelub ⇧⌘P (Ctrl + Shift + P w systemach Windows i Linux). RodzajNuget: Open Gallery .
  3. Zostanie wyświetlone powyższe GUI. Możesz filtrować tak jak w zwykłym Visual Studio.
  4. Upewnij się, że .csproj filepole wyboru jest zaznaczone, wybierz wersję z menu rozwijanego i kliknij przycisk instalacji.

AKTUALIZACJA

Wcześniejsze wersje, jak zauważono w komentarzach, miały problem polegający na tym, że .csprojpole wyboru nie było widoczne, gdy pakiet w pliku csproj nie zawierał numeru wersji, jak poniżej.

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

Zostało to naprawione w nowszych wersjach rozszerzenia, więc jeśli masz starszą wersję z tym problemem, zaktualizuj ją do najnowszej wersji.


Ahh, to interesujące. W .csprojbieżącej wersji nie ma opcji zaznaczania pliku. Może na tym polega mój problem. github.com/pcislo/vscode-nuget-gallery/issues/15
woter324

Cześć @ woter324, problem polegający na tym, że pole wyboru nie jest wyświetlane, został zidentyfikowany jako niektóre pakiety z .csprojnieposiadającymi numerów wersji. Zobacz komentarz do wydania . Zaktualizowałem swoją odpowiedź, aby to uwzględnić.
Mojżesz Machua

Dzięki! Właśnie tego potrzebowałem, aby móc zainstalować pakiet Microsoft.Windows.Compatibility! Ta galeria Nuget faktycznie współpracuje z .NET Core 3.1.2! Więc teraz mogę użyć OleDbConnection, aby otworzyć połączenie z bazą danych MS Access, jednocześnie używając .NET Core do innych rzeczy w Visual Studio Code! Chłodny!
John Foll

Przetestowałem najnowszą wersję i nie ma już problemu z brakującymi numerami wersji
Moses Machua

6
  1. Zainstaluj Menedżera pakietów NuGet
  2. Ctrl+Shift+P w systemie Windows lub Command+Shift+P Mac
  3. Wyszukaj Menedżera pakietów NuGet: Dodaj pakiet
  4. Wprowadź nazwę pakietu, tj. AutoMapper
  5. Wybierz pakiet i wersję
  6. Przywróć w razie potrzeby

1

Zmodyfikuj plik project.json lub * .csproj. Dodaj pozycję zależności z nazwą pakietu i żądaną wersją.

Przykład JSON:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}

1

Powyższe odpowiedzi są dobre, ale niewystarczające, jeśli masz więcej niż 1 projekt (.csproj) w tym samym folderze.

Po pierwsze, łatwo dodajesz znacznik „PackageReference” do pliku .csproj (ręcznie, za pomocą menedżera pakietów nuget lub polecenia dotnet add package).

Ale potem musisz ręcznie uruchomić polecenie „przywróć”, abyś mógł powiedzieć, który projekt próbujesz przywrócić (jeśli właśnie kliknąłem przycisk przywracania, który się pojawił, nic się nie stało). Możesz to zrobić, uruchamiając:

dotnet restore Project-File-Name.csproj

I to instaluje pakiet

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.