.Net Core et NuGet

J’ai installé le kernel .net à partir de ce site . Jouer avec elle a conduit à un certain nombre de questions liées à la gestion des paquets:

  1. La commande dotnet restore a “installé” les packages NuGet .net core. Où étaient ces paquets “installés”? Un nouveau dossier n’a pas été créé.
  2. La dotnet restore pour l’exemple minimal de “hello world” nécessitait environ une centaine de paquets NuGet, où 99% étaient probablement sans rapport avec l’application “hello world”. Certes, une version native de .net supprimera tout ce qui n’est pas nécessaire – mais je m’attendais à ce que la restore également pris très peu de temps (trois ou quatre paquets, pas une centaine). Pourquoi ce comportement?
  3. J’ai créé un deuxième projet “hello world” et dotnet restore encore exécuté dotnet restore . Cette fois, aucun paquet n’a été installé. Il semble que tous les paquets installés la première fois soient entrés dans un emplacement global pour être partagés. Je pensais que .Net Core ne fonctionnait pas de cette façon. J’ai pensé que les projets .Net Core conservaient toutes leurs dépendances localement. Le seul cadre que j’ai ciblé était dnxcore50 . Pourquoi ce comportement?
  4. Je voudrais “désinstaller” tous ces paquets globaux et réessayer (uniquement à des fins d’apprentissage). Comment cela pourrait-il être accompli? Rappelez-vous, comme indiqué dans la question n ° 1, je ne sais pas où tous ces fichiers ont été installés.
  5. Presque tous les paquetages installés via la commande restore ont été répertoriés en tant que bêta. Impair. Je pensais que .Net Core était en RC1, pas en version bêta. Confus par ceci. Pourquoi ce comportement?

Je suis également curieux de savoir quelle documentation pourrait / aurait expliqué tout cela pour moi. J’ai essayé de googler pour chacune de ces questions et je n’ai rien trouvé (peut-être juste un horrible google-fu?).

Mettre à jour:

  1. Les packages nuget sont installés dans un emplacement global. Par défaut, il était auparavant .. \ Users \ [YourUserFolder] \. Dnx \ packages mais il semblait avoir changé pour .. \ Users \ [YourUserFolder] \. Nuget \ packages

Dans NuGet 3+, vous pouvez utiliser la commande suivante de la CLI NuGet pour obtenir l’emplacement du dossier global-packages

 nuget locals global-packages -list 

Consultez les liens suivants pour plus de détails sur NuGet


  1. Le modèle ASP.Net par défaut contient tant de packages. Depuis que vous avez essayé pour la première fois, vous avez essayé d’obtenir tous ces paquets de 100

  2. Vous aviez déjà ces packages dans vos emplacements globaux nuget, il a ignoré la restauration.

  3. Supprimer tout le contenu sous le dossier packages (emplacement indiqué en 1)

  4. Certains des paquets bêta sont là. Vous pouvez accéder au fichier project.json (disponible sous la racine Web) et jouer avec la section dépendances.

Je viens de découvrir qu’il existe un autre emplacement pour les paquets NuGet utilisés dans les projets de base .NET. Son situé à:

C:\Users\[User]\.nuget\packages

Je pense que cet emplacement contient des packages .NET Framework réguliers.

Mise à jour: Grâce à brappleye3, voici un lien vers la documentation concernant la restauration dotnet.

Je travaille avec .Net Core 2.x et, je pense, NuGet 4.x. Emplacements trouvés du paquet ici:

C: \ Program Files (x86) \ Kit de développement Microsoft \ NuGetPackages \