Impossible d'installer un package dans Visual Studio 2015

183

J'ai essayé tous les packages que j'ai pu trouver et aucun d'entre eux ne s'installera dans mon projet. J'ai installé toutes les mises à jour répertoriées dans la liste Extensions et mises à jour disponibles. Quand j'essaye d'installer SendGrid par exemple, voici le résultat (comme c'est le résultat avec tous les autres packages):

Attempting to gather dependencies information for package 'Sendgrid.6.1.0' with respect to project 'UI\MyApplication.MVC', targeting '.NETFramework,Version=v4.5.2'
Attempting to resolve dependencies for package 'Sendgrid.6.1.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Sendgrid.6.1.0'
Resolved actions to install package 'Sendgrid.6.1.0'
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
Adding package 'SendGrid.SmtpApi.1.3.1' to folder 'C:\Users\Keith\Source\Workspaces\MyApplication\MyApplication.MVC\packages'
Install failed. Rolling back...

Je ne peux pas être le seul au monde à avoir des problèmes avec Visual Studio 2015 et le nouveau gestionnaire de packages NuGet "amélioré".

MISE À JOUR:
Eh bien, cela doit être quelque chose d'étrange dans ma solution car j'ai créé un nouveau projet à partir du modèle VS2015 (Web) et les packages s'installent très bien. Lorsque je découvre le problème, je publierai la résolution au cas où d'autres rencontreraient le même problème.

MISE À JOUR 2:
Ok, ce n'est pas notre solution. Nous avons à nouveau créé une nouvelle solution à partir de zéro (cela a gaspillé beaucoup de temps de développement pourrais-je ajouter), ajouté quelques packages (Identity, EF, SendGrid) et après avoir archivé la solution dans VSO, un autre développeur effectue une nouvelle création des erreurs de branche et de construction se produisent. Lorsque je vais aux packages NuGet pour un projet individuel, cela fait comme si aucun des packages que j'ai ajoutés n'était disponible. Quelqu'un d'autre vit-il cela?

dans le sens des aiguilles d'une montreq
la source
1
Utilisez VS2013 pour ajouter des packages VS2015 est très problématique alors ouvrez simplement VS2015 et continuez à l'utiliser
Rob Sedgwick

Réponses:

124

tl; dr - Supprimer ceci:

%AppData%/Nuget/Nuget.config

Avertissement: si vous aviez des sources NuGet personnalisées, cela les supprimera et vous devrez les rajouter.


Version plus longue:

Vous avez peut-être corrompu votre configuration NuGet. Oh non :(

Nuget.config est un fichier utilisé pour garder une trace de tous les endroits d'où NuGet tire, ainsi que pour configurer d'autres choses. Plus probablement qu'autrement, ce fichier xml s'est cassé d'une manière ou d'une autre.

  • Allez sur ce chemin: C:\Users\{{username}}\AppData\Roaming\
  • Supprimer Nuget.config
  • Redémarrez VS pour faire bonne mesure

Pour référence: dans les bons jours de 2017, votre fichier devrait ressembler à ceci

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <activePackageSource>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <!-- Others -->
  </packageSources>
  <packageSourceCredentials>
    <!-- secret stuff -->
  </packageSourceCredentials>
</configuration>
Stachu
la source
Merci, c'était une bonne solution
Nic
Cela fonctionne aussi pour moi, merci Statue, vous avez économisé mon temps.
Rameshwar Vyevhare
1
Incroyable coïncidence. Cet article d'il y a un an est édité juste sous mes yeux, au moment où j'ai besoin de la réponse. Merci!
Jason Spake
1
Désolé de bousculer cela, mais le mien devait être spécial et s'appelait "NuGet.Config", ce qui était très spécifique sur NTFS pour moi!
TGP1994
2
(En fait, il s'est avéré que je n'avais même pas besoin de supprimer la configuration. Un redémarrage de Visual Studio était nécessaire.)
TGP1994
415

La fermeture et la réouverture de VS2015 résout le problème.

Il semble que dans certains cas, le simple rechargement du projet affecté fonctionnera.

Lars
la source
3
Cela a fonctionné pour moi aussi, après avoir fermé VS, neutralisé le dossier «packages» pour la solution et redémarré.
wislon
6
Cela a fonctionné pour moi, même si j'ai dû fermer toutes les instances de VS - fermer uniquement celle affectée ne suffisait pas.
Rory McCrossan
4
Cela semble si simple ... et pourtant +111 votes! A travaillé pour moi aussi!
Anthony Nichols
22
Pourquoi, Microsoft?!?! Pourquoi cela doit-il être la meilleure réponse (et celle qui a fonctionné pour moi)?
Matt Ruwe
2
Je ne suis pas à l'aise avec la réponse mais cela fonctionne, nous avons besoin du "pourquoi"
Zinov
32

J'ai trouvé une solution pour cela dans mon cas, essayez de mettre à jour le gestionnaire de packages NuGet.

Pour faire ça:

  1. Depuis VS, allez dans Outils -> Extensions et mises à jour
  2. Ouvrez l' option de menu Mises à jour sur la gauche, puis sélectionnez Galerie Visual Studio .
  3. S'il existe une mise à jour pour Nuget Package Installer, elle devrait apparaître dans la liste à droite. Cliquez sur Mettre à jour
  4. Redémarrez Visual Studio

Cela m'a permis d'installer à nouveau des packages sans problème.

J'espère que cela t'aides!

Alejo03
la source
1
J'ai suivi cela, mais il n'y avait aucune mise à jour en attente pour Nuget. Il y en avait un pour "Web Tools" et cela a résolu l'erreur "Nuget configuration is invalid" pour moi.
RyanJMcGowan
1
Ce n'est probablement pas le fait que vous ayez mis à niveau "Web Tools", mais plutôt le fait que l'installation de mises à jour d'extensions vous oblige à redémarrer Visual Studio. Le redémarrage a fonctionné pour moi.
Joe the Coder
A travaillé pour moi aussi
Aaron
Dans mon cas, il n'y avait pas de mise à jour disponible, mais j'ai téléchargé la dernière version de dotnet.myget.org/F/nuget-vsix/vsix et cela a fonctionné.
DavidC
20

Dans mon cas, la mise à jour Microsoft.CodeDom.Providers.DotNetCompilerPlatformet a Microsoft.Net.Compilers causé le problème.

La suppression bin, objet des packagesdossiers et de redémarrer Visual Studio 2015 a résolu le problème pour moi.

Nikolay Kostov
la source
1
D'autres solutions n'ont pas fonctionné, mais celle-ci a fonctionné. La suppression des `` packages '' était la clé pour moi
Gordon Slysz
1
Je ne sais pas pourquoi la suppression des packages pourrait fonctionner, mais c'est le cas! Cependant, je n'avais rien mis à jour, je venais de migrer de Visual Studio 2010 vers 2015 et .NET 4.0 vers 4.5.
Protector one du
Où puis-je trouver le dossier «packages»? Je n'ai que bin et obj.
Denny
8

Vous devez effacer tous les caches NuGet; pour cela, vous devez aller dans Options et cliquer dessus comme ceci:

entrez la description de l'image ici

Shahrooz Ansari
la source
Jésus, omg, tu m'as sauvé la vie, je devenais fou ... J'obtenais toujours l'erreur "L'installation a échoué. Revenir en arrière ...". Essayé de supprimer le fichier de configuration NuGet a dit la réponse acceptée et a également essayé de redémarrer VS et l'ordinateur ... effacé mes flux de nuget, configuré à nouveau .. rien, mais cela l'a corrigé! Merci beaucoup!
TiagoM
7

En général, la fermeture et la réouverture de VS 2015 ont résolu la plupart des problèmes que j'ai rencontrés . Une fois, j'ai eu besoin d'exécuter une réparation sur l'un de mes ordinateurs.

Cependant, j'étais sur le point de le faire, Closing and re-opening VS2015 resolved the issue for me j'ai pensé que je ferais plutôt un clic droit sur le projet et décharger le projet, puis un clic droit et recharger le projet ALORS gérer Nuget a fonctionné!

Tom Stickel
la source
4

Juste pour aider quiconque a atterri sur cette page après avoir mis à jour VS2015 vers la mise à jour 2 et essayé de gérer des packages sur un site Web, recevant l'erreur «Le fichier de configuration NuGet n'est pas valide», il s'agit d'un problème connu et reconnu:

https://connect.microsoft.com/VisualStudio/feedback/details/2698136/nuget-configuration-is-invalid-manage-nuget-packages-for-solution-disabled

J'ai fait fonctionner le mien à nouveau en installant le gestionnaire de paquets 3.4.4 (bêta) à partir de http://dist.nuget.org/index.html

Ils indiquent également que la mise à jour 3 pour Visual Studio contiendra également un correctif

MarkMiddlemist
la source
Merci beaucoup pour cela! :)
Ramanpreet Singh
3

Je suppose que Nuget Package Manager dérange VSO. Je crée un nouveau projet, j'y ajoute des packages très bien, j'enregistre TFS. Ensuite, je rentre à la maison, "Obtenir la dernière version", et j'exécute, et j'échoue parce que Nuget Package Manager ne restaure pas mes paquets. Solution: sur mon ordinateur personnel

  1. ouvrez Nuget Package Manger, désinstallez tous les packages installés
  2. Ouvrez le dossier Références, faites un clic droit> Supprimer pour tous les packages que vous avez installés
  3. Réinstallez-les via Nuget Package Manager
  4. Enregistrement
Tuan Tran
la source
J'ai essayé d'ajouter / mettre à jour des packages à partir d'un nouveau projet et j'ai rencontré le même résultat d'échec. J'ai rétrogradé à VS2013 jusqu'à ce que le gestionnaire de packages soit mis à jour dans VS2015
dans
3

J'ai pu résoudre ce problème en réinstallant Nuget Package Manager via Outils -> Extensions et mises à jour

mike.bukosky
la source
3

J'ai eu ce problème avec Visual Studio 2017: il s'avère qu'il existe deux projets de bibliothèque de classes - un pour .Net et l'autre pour C #. J'ai créé celui pour .Net et quand j'ai essayé d'installer un package spécifique (Nunit dans mon cas), j'ai reçu le message d'erreur.

La recréation du projet en tant que bibliothèque de classes C # a résolu le problème

Belgique
la source
1

Dans mon cas, ce problème a été causé par une incompatibilité dans le cadre de mon cadre cible sous chaque projet. Lorsque j'ai créé un nouveau projet, VS 2015 était par défaut la version 4.5.2, mais tous mes packages nuget ont été construits pour 4.6.

Pour une raison quelconque, VS 2015 ne me montrait pas ces erreurs. Je ne les ai pas vus jusqu'à ce que j'ai créé un nouveau projet vide et essayé d'y ajouter mon projet nuget. Ce comportement peut avoir été aggravé car j'avais renommé le projet plusieurs fois lors de la configuration initiale.

J'ai résolu le problème en

  • changer le cadre cible de mes projets en 4.6
  • fermé VS 2015
  • les dossiers "packages", "obj" et "bin" ont été supprimés
  • rouvrez la solution et essayez à nouveau d'ajouter le package nuget.
raterus
la source
1

J'utilise Visual Studio 2015 Update 3 et j'ai réussi à reproduire cette erreur (malgré la mise à jour 3 qui contiendrait prétendument un correctif).

Comme suggéré ci-dessus, un correctif fiable consiste à effectuer les opérations suivantes ... 1) Quittez Visual Studio, 2) Supprimez le dossier packages , 3) Redémarrez VS.

Mais ... si vous ne souhaitez pas quitter immédiatement VS pour une raison quelconque, j'ai toujours pu ajouter / supprimer des packages de tous les projets en choisissant l' option ` ` Gérer les packages NuGet pour la solution '', plutôt que le projet individuel avec le problème .

boîtier de commande
la source
Où est le dossier des packages dont tout le monde parle?
ShrimpCrackers
@ShrimpCrackers - au même emplacement que le fichier de solution (.sln)
controlbox
1

La réparation de Visual Studio 2015 semble avoir résolu ce problème pour moi. Consultez ce problème pour NuGet dans GitHub.

Hans Vonn
la source
1

Redémarrer simplement Visual Studio fonctionne pour moi .. essayez de redémarrer Visual Studio.

Chidi-Nwaneto
la source
0

J'ai eu ce problème, qui semblait être causé par quelque chose de cassé dans le packagesdossier de niveau de solution . J'ai supprimé le contenu du dossier et laissé nugetréinstaller tous les packages.

Je pourrais alors réinstaller de nouveaux packages.

andynormancx
la source
0

Ouvrez le dossier packages. Vérifiez si des fichiers avec l'extension .deleteme existent, par exemple Newtonsoft.Json.9.0.1.deleteme. Supprimez manuellement tous les packages contenant un fichier .deleteme. Supprimez les fichiers .deleteme. Fermez et ouvrez l'explorateur Nuget.

Orhan
la source
0

Remplacez la "source du package" dans nuget par All

Détails: Aucune de ces réponses n'a aidé dans mon cas. Mon problème était que je me limitais à un seul flux privé. Une fois que j'ai changé la "source du paquet" en All, mon problème a été résolu. Je crois que le nœud du problème est que mon pkg privé a une dépendance vis-à-vis d'autres pkg de nuget.org.

J'espère que cela peut aider quelqu'un

Rotem Varon
la source
0

Dans mon cas, rien de ce qui précède n'a aidé. La cause première du problème dans mon cas était que j'avais désinstallé le package auparavant et que je n'avais pas vérifié le changement dans le contrôle de code source (TFS dans mon cas). Après avoir vérifié la modification (= la suppression du fichier dans le dossier packages), j'ai pu réinstaller le package.

Heinz Kessler
la source
0

Dans mon cas, il y avait un fichier packages.config vide dans le répertoire soultion, après sa suppression, la mise à jour a réussi

Timm
la source