Installieren Sie ein Nuget-Paket in Visual Studio Code

187

Wie kann ich ein Nuget-Paket in Visual Studio Code installieren? Ich weiß, dass wir dies in Visual Studio über die Nuget Package Manager-Konsole tun können, aber wie mache ich das in VS Code?

Gyan Parkash
quelle
Haben Sie diese Erweiterung versucht: marketplace.visualstudio.com/... Alternativ können Sie herunterladen nuget von ihrer Website und verwenden Sie es von der Konsole.
JNK
Ich würde Konsole bevorzugen, weil die Erweiterung keine guten Bewertungen hat
Gyan Parkash
Ich verwende nuget.org, suche und verwende einfach die PackageReference (zusammen mit den anderen Ratenoptionen). Funktioniert ziemlich gut und Sie erhalten eine gute Benutzeroberfläche für das Nuget selbst.
mslot

Antworten:

221

Über die Befehlszeile oder die Terminalfenster im vs-Code-Editor dotnet add package Newtonsoft.Json

Siehe diesen Artikel von Scott Hanselman

Jeff Albrecht
quelle
2
Beachten Sie, dass dies nur mit dem neuen csproj-basierten .Net Core SDK 1.0 funktioniert, nicht jedoch mit den alten project.json-basierten Vorschauversionen.
Svick
2
Das unterstützt leider keine Suche oder automatische Vervollständigung. Das heißt, Sie müssen die genaue Schreibweise des Paketnamens kennen.
Andrew Savinykh
4
Sie können auf nuget.org nach Paketen suchen, wie Sie es sonst in Visual Studio tun würden, und dann das gewünschte Paket über die Befehlszeile installieren.
MikeBeaton
75

Sie können die NuGet Package Manager- Erweiterung verwenden.

Um ein Paket hinzuzufügen, drücken Sie nach der Installation Strg + Umschalt + P, geben Sie ein >nugetund drücken Sie die Eingabetaste:

Geben Sie hier die Bildbeschreibung ein

Geben Sie einen Teil des Paketnamens als Suchzeichenfolge ein:

Geben Sie hier die Bildbeschreibung ein

Wählen Sie das Paket:

Geben Sie hier die Bildbeschreibung ein

Und schließlich die Paketversion (Sie möchten wahrscheinlich die neueste):

Geben Sie hier die Bildbeschreibung ein

Sashoalm
quelle
2
Diese Erweiterung scheint die neue Funktion für Arbeitsbereiche nicht zu unterstützen
Chris Alexander
1
Diese Erweiterung scheint wieder auf dem Markt zu sein, hat sie gerade installiert und funktioniert gut für mich.
Null Referenz
3
22. Juni 2019: " Diese Erweiterung ist jetzt nicht mehr auf dem Marktplatz veröffentlicht. Sie können sie auch deinstallieren. " 2 ¢.
Ruffin
Der oben angegebene Link verweist auf ".Net Core Project Manager (Nuget)" - versuchen Sie: marketplace.visualstudio.com/…
samis
28

Sie können dies einfach mit "vscode-nuget-package-manager" tun. Gehen Sie zum Marktplatz und installieren Sie diese. Nachdem

1) Drücken Sie Strg + P oder Strg + Umschalt + P (und überspringen Sie 2)

2) Geben Sie ">" ein

3) Wählen Sie dann "Nuget Package Manager: Add Package".

4) Geben Sie den Paketnamen ein. Beispiel: Dapper

5) Wählen Sie den Paketnamen und die Version aus

6) Fertig.

Roshan Perera
quelle
24

Öffnen Sie das Erweiterungsmenü (Strg + Umschalt + X) und suchen Sie nach .NuGet Package Manager.

Eugeniu Znagovan
quelle
Seltsamerweise kann dieser Manager Microsoft.AspNetCore.Server.Kestrel nicht finden. Die folgende Lösung funktioniert.
Aleksey Kontsevich
Funktioniert seit der Migration in das .csproj-Dateiformat nicht mehr.
Per Lundberg
Ich kann diese Erweiterung nicht sehen, wenn ich danach suche.
Davos
13

Beispiel für eine .csproj-Datei

  <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>

Holen Sie sich einfach den Paketnamen und die Versionsnummer von NuGet, fügen Sie sie zu .csproj hinzu und speichern Sie sie. Sie werden aufgefordert, eine Wiederherstellung auszuführen, mit der neue Pakete importiert werden.

Chris Cavell
quelle
9
Ich bin mir sicher, dass dies funktioniert, aber es scheint eine Schande, das XML manuell bearbeiten zu müssen.
Davos
1
Stimmt, aber VS Code ist kostenlos (und wirklich als Editor gedacht), also beschwere ich mich nicht. Es wäre anders, wenn ich dies in VS tun müsste.
Chris Cavell
1
Gutes Argument. Bearbeiten Sie C # -Projekte also vollständig in VSCode, ohne dass eine Version von Visual Studio installiert ist? Oder das Projekt in Visual Studio erstellen (mit sln + csproj-Dateien) und dann nur VSCode als Editor verwenden? Ich dotnetvermute, wenn Sie nur VSCode verwenden, warum brauchen Sie dann überhaupt diese Projektdateien?
Davos
1
Nein, ich verwende tatsächlich Visual Studio 2010 und 2015. Bevorzugen Sie jedoch 2010. Alle meine realen Codierungen werden auch in Git-Repositories gespeichert. VS Code ist mehr zum Herumspielen auf meinem Ubuntu-System.
Chris Cavell
6
  1. Installieren Sie NuGet Package Manager
  2. Ctrl+Shift+Punter Windows oder Command+Shift+PMac
  3. Suchen Sie nach NuGet Package Manager: Paket hinzufügen
  4. Geben Sie den Paketnamen ein, z. B. AutoMapper
  5. Paket & Version auswählen
  6. Bei Bedarf wiederherstellen
Ryan Efendy
quelle
5

Nuget Gallerybietet eine GUI ähnlich dem vollständigen Visual Studio. Siehe unten.

Geben Sie hier die Bildbeschreibung ein

Wie benutzt man:

  1. Installation Nuget Galleryvom Erweiterungsmarkt.
  2. Starten Sie über die Menüleiste View > Command Paletteoder ⇧⌘P (Strg + Umschalt + P unter Windows und Linux). Typ Nuget: Open Gallery.
  3. Die obige GUI wird angezeigt. Sie können wie in normalem Visual Studio filtern.
  4. .csproj fileStellen Sie sicher, dass das Kontrollkästchen aktiviert ist, wählen Sie die Version aus der Dropdown-Liste aus und klicken Sie auf die Schaltfläche Installieren.

AKTUALISIEREN

Frühere Versionen hatten, wie in den Kommentaren erwähnt, ein Problem, bei dem das .csprojKontrollkästchen nicht sichtbar war, wenn einem Paket in der csproj-Datei eine Versionsnummer wie unten fehlte .

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

Dies wurde in neueren Versionen der Erweiterung behoben. Wenn Sie also eine ältere Version mit diesem Problem haben, aktualisieren Sie diese bitte auf die neueste Version.

Moses Machua
quelle
Ahh, das ist interessant. .csprojIn der aktuellen Version gibt es keine Option zum Aktivieren von Dateien. Vielleicht ist das mein Problem. github.com/pcislo/vscode-nuget-gallery/issues/15
woter324
Hi @ woter324, das Problem, dass das Kontrollkästchen nicht angezeigt wird, wurde als einige Pakete identifiziert, die .csprojkeine Versionsnummern haben. Siehe Problemkommentar . Ich habe meine Antwort aktualisiert, um dies einzuschließen.
Moses Machua
Vielen Dank! Genau das brauchte ich, um das Microsoft.Windows.Compatibility-Paket installieren zu können! Diese Nuget-Galerie funktioniert tatsächlich mit .NET Core 3.1.2! Jetzt kann ich mit OleDbConnection eine Verbindung zu einer MS Access-Datenbank herstellen, während ich .NET Core für die anderen Dinge in Visual Studio Code verwende! Cool!
John Foll
Ich habe die neueste Version getestet und es gibt kein Problem mehr mit fehlenden Versionsnummern
Moses Machua
1

Ändern Sie Ihre Datei project.json oder * .csproj. Fügen Sie einen Abhängigkeitseintrag mit dem Namen des Pakets und der gewünschten Version hinzu.

JSON-Beispiel:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}
Mauricio Aviles
quelle
1

Die obigen Antworten sind gut, aber unzureichend, wenn Sie mehr als ein Projekt (.csproj) im selben Ordner haben.

Zunächst fügen Sie der .csproj-Datei einfach das Tag "PackageReference" hinzu (entweder manuell, mithilfe des Nuget-Paketmanagers oder mithilfe des Befehls dotnet add package).

Aber dann müssen Sie den Befehl "Wiederherstellen" manuell ausführen, damit Sie feststellen können, welches Projekt Sie wiederherstellen möchten (wenn ich nur auf die Schaltfläche zum Wiederherstellen geklickt habe, die angezeigt wurde, ist nichts passiert). Sie können dies tun, indem Sie Folgendes ausführen:

dotnet restore Project-File-Name.csproj

Und das installiert das Paket

gool
quelle