Installer un package Nuget dans Visual Studio Code

192

Comment puis-je installer un package Nuget dans Visual Studio Code? Je sais que dans Visual Studio, nous pouvons le faire via la console Nuget Package Manager, mais comment puis-je le faire dans VS Code?

Gyan Parkash
la source
Avez-vous essayé cette extension: marketplace.visualstudio.com/… Vous pouvez également télécharger nuget depuis leur site Web et l'utiliser depuis la console.
JNK
Je préférerais la console car l'extension n'a pas de bonnes critiques
Gyan Parkash
La façon dont je le fais est d'utiliser nuget.org, de rechercher et d'utiliser simplement PackageReference (situé avec les autres options de versement). Fonctionne assez bien et vous obtenez une bonne interface utilisateur pour le nuget lui-même.
mslot

Réponses:

225

Depuis la ligne de commande ou les fenêtres du terminal dans l'éditeur de code vs dotnet add package Newtonsoft.Json

Voir cet article de Scott Hanselman

Jeff Albrecht
la source
2
Notez que cela ne fonctionnera que sur le nouveau SDK .Net Core 1.0 basé sur csproj, mais pas sur les anciennes versions d'aperçu basées sur project.json.
svick
2
Cela ne prend malheureusement pas en charge la recherche ou la saisie semi-automatique. Autrement dit, vous devez connaître l'orthographe exacte du nom du package.
Andrew Savinykh
4
Vous pouvez accéder à nuget.org pour rechercher des packages comme vous le feriez autrement dans Visual Studio, puis utiliser la ligne de commande pour installer le package souhaité.
MikeBeaton
76

Vous pouvez utiliser l' extension NuGet Package Manager .

Une fois que vous l'avez installé, pour ajouter un package, appuyez sur Ctrl + Maj + P, puis tapez >nugetet appuyez sur Entrée:

entrez la description de l'image ici

Tapez une partie du nom de votre package comme chaîne de recherche:

entrez la description de l'image ici

Choisissez le forfait:

entrez la description de l'image ici

Et enfin la version du package (vous voulez probablement la plus récente):

entrez la description de l'image ici

sashoalm
la source
2
Cette extension ne semble pas prendre en charge la nouvelle fonctionnalité d'espaces de travail
Chris Alexander
1
Cette extension semble de retour sur le marché, vient de l'installer et fonctionne très bien pour moi.
Référence nulle du
3
22 juin 2019: " Cette extension est désormais non publiée sur Marketplace. Vous pouvez choisir de la désinstaller. " 2 ¢.
ruffin
Le lien fourni ci-dessus pointe vers ".Net Core Project Manager (Nuget)" - essayez: marketplace.visualstudio.com
...
29

Vous pouvez le faire facilement en utilisant "vscode-nuget-package-manager". Allez sur le marché et installez-le. Après ça

1) Appuyez sur Ctrl + P ou Ctrl + Maj + P (et sauter 2)

2) Tapez ">"

3) Sélectionnez ensuite "Nuget Package Manager: Add Package"

4) Entrez le nom du paquet Ex: Dapper

5) sélectionnez le nom et la version du package

6) Terminé.

Roshan Perera
la source
24

Ouvrez le menu des extensions (Ctrl + Maj + X) et recherchez .NuGet Package Manager.

Eugeniu Znagovan
la source
Étrange ce gestionnaire ne peut pas trouver Microsoft.AspNetCore.Server.Kestrel. La solution ci-dessous fonctionne.
Aleksey Kontsevich
Ne fonctionne plus depuis la migration vers le format de fichier .csproj.
Per Lundberg
Je ne vois pas cette extension lorsque je la recherche.
Davos
13

Exemple de fichier .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>

Obtenez simplement le nom du package et le numéro de version de NuGet et ajoutez-les à .csproj, puis enregistrez. Vous serez invité à exécuter la restauration qui importera de nouveaux packages.

Chris Cavell
la source
9
Je suis sûr que cela fonctionne mais devoir éditer le XML manuellement semble dommage.
Davos
1
C'est vrai, mais VS Code est gratuit (et vraiment destiné à être un éditeur) donc je ne me plains pas. Ce serait différent si je devais faire cela dans VS.
Chris Cavell
1
Bon point. Donc, modifiez-vous des projets C # entièrement dans VSCode sans aucune version de Visual Studio installée? Ou créer le projet dans Visual Studio (avec des fichiers sln + csproj) et ensuite simplement utiliser VSCode comme éditeur? Je suppose que si vous utilisez simplement dotnetet VSCode, pourquoi auriez-vous même besoin de ces fichiers de projet.
Davos
1
Non, j'utilise Visual Studio 2010 et 2015. Je préfère cependant 2010. Tout mon vrai codage est également stocké dans des référentiels Git. VS Code est plus à jouer sur mon système Ubuntu.
Chris Cavell
8

Nuget Galleryfournit une interface graphique similaire à Visual Studio complet. Voir ci-dessous.

entrez la description de l'image ici

Comment utiliser:

  1. Installez à Nuget Gallerypartir du marché d'extension.
  2. Lancez depuis la barre de menu View > Command Paletteou ⇧⌘P (Ctrl + Maj + P sous Windows et Linux). Tapez Nuget: Open Gallery.
  3. L'interface graphique ci-dessus s'affiche. Vous pouvez filtrer comme dans Visual Studio standard.
  4. Assurez-vous que la .csproj filecase est cochée, sélectionnez la version dans la liste déroulante et cliquez sur le bouton Installer.

METTRE À JOUR

Les versions antérieures, comme indiqué dans les commentaires, avaient un problème où la .csprojcase à cocher n'était pas visible lorsqu'un package dans le fichier csproj manquait un numéro de version comme ci-dessous.

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

Ce problème a été corrigé dans les versions plus récentes de l'extension, donc si vous avez une version plus ancienne avec ce problème, veuillez la mettre à jour avec la dernière version.

Moïse Machua
la source
Ahh, c'est intéressant. Il n'y a pas d' .csprojoption de coche de fichier dans la version actuelle. C'est peut-être là mon problème. github.com/pcislo/vscode-nuget-gallery/issues/15
woter324
Salut @ woter324, le problème de la case à cocher ne s'affichant pas a été identifié comme certains packages dans le .csprojsans numéro de version. Voir le commentaire du problème . J'ai mis à jour ma réponse pour inclure cela.
Moses Machua
Merci! C'était exactement ce dont j'avais besoin pour pouvoir installer le package Microsoft.Windows.Compatibility! Cette galerie Nuget fonctionne réellement avec .NET Core 3.1.2! Alors maintenant, je peux utiliser OleDbConnection pour ouvrir une connexion à une base de données MS Access, tout en utilisant .NET Core pour les autres choses dans Visual Studio Code! Cool!
John Foll
J'ai testé la dernière version et il n'y a plus de problème avec les numéros de version manquants
Moses Machua
6
  1. Installer le gestionnaire de packages NuGet
  2. Ctrl+Shift+Psur Windows ou Command+Shift+Psur Mac
  3. Rechercher NuGet Package Manager: Ajouter un package
  4. Entrez le nom du package, c'est-à-dire AutoMapper
  5. Sélectionnez le package et la version
  6. Restaurer si nécessaire
Ryan Efendy
la source
1

Modifiez votre fichier project.json ou * .csproj. Ajoutez une entrée de dépendance avec le nom du package et la version souhaitée.

Exemple JSON:

{
   "dependencies" : {

     "AutoMapper": "5.2.0"
   }
}
Mauricio Aviles
la source
1

Les réponses ci-dessus sont bonnes, mais insuffisantes si vous avez plus d'un projet (.csproj) dans le même dossier.

Tout d'abord, vous ajoutez facilement la balise "PackageReference" au fichier .csproj (soit manuellement, en utilisant le gestionnaire de packages nuget ou en utilisant la commande dotnet add package).

Mais alors, vous devez exécuter la commande "restaurer" manuellement afin que vous puissiez lui dire quel projet vous essayez de restaurer (si je viens de cliquer sur le bouton de restauration qui est apparu, rien ne s'est passé). Vous pouvez le faire en exécutant:

dotnet restore Project-File-Name.csproj

Et cela installe le package

gool
la source