c# - manager - Impossible de désinstaller/réinstaller le package NuGet



nuget package manager visual studio 2017 (4)

J'ai mis en place mon projet avec Visual Studio Express 2012, ajouté du code C #, et compilé / déployé avec succès sur émulateur. À un moment donné, j'ai décidé de faire quelque chose avec JSON, et j'ai trouvé que je devais utiliser le framework Json.NET, qui est disponible en tant que paquet NuGet . J'ai ajouté ce cadre avec succès en utilisant la commande Install-Package Newtonsoft.Json .

J'ai essayé d'installer une mise à jour que MSVC a offert il y a deux jours, et l'installation a échoué, me laissant incapable d'ouvrir à nouveau mon projet. Réinstaller MSVC n'a pas aidé, donc j'ai fini par restaurer Windows à un état antérieur. J'ai pu réouvrir mon projet, et je voulais réinstaller le paquet NuGet (ne sachant pas qu'il est installé dans le projet, pas MSVC). Il m'a donné des erreurs lors de l'installation, j'ai donc essayé de tout désinstaller de la console du paquet.

Longue histoire courte:

  • La console de paquet de Nuget indique "aucun paquet installé" quand Get-Package
  • L'exécution de Install-Package Newtonsoft.Json me donne à nouveau l'erreur

    Newtonsoft.Json 5.0.6 n'a pas pu être installé. Vous essayez d'installer ce paquet dans un projet référençant "WindowsPhone, Version = v8.0", le paquet ne contient cependant pas d'assemblys compatibles avec ce framework

  • La boîte de dialogue "Gérer NuGet" ne montre aucun paquet sous "installé", cependant dans le paquet en ligne, le paquet json est listé et marqué comme installé (donc je ne peux pas essayer de l'installer)

Maintenant, je suis complètement perdu. Je ne sais pas comment installer le paquet correctement, ni comment le retirer correctement. Mon fichier de projet est-il cassé? Comment puis-je le réparer?

[modifier] Maintenant, cela devient encore plus confus. Je viens juste de mettre à jour le gestionnaire de paquets NuGet (pas MSVC), et j'ai essayé de réinstaller Json.NET.

  • Dans la boîte de dialogue, il n'apparaît toujours pas sous "installé"
  • Dans la liste des paquets en ligne, il n'est plus marqué comme installé, mais cliquer sur "Installer" ne fait rien
  • Get-Package dans la console affiche le package comme installé

    PM> Get-Package
    
    Id                             Version              Description/Release Notes                                                                                                                                                                                            
    --                             -------              -------------------------                                                                                                                                                                                            
    Newtonsoft.Json                5.0.6                Json.NET is a popular high-performance JSON framework for .NET
  • Essayer de désinstaller avec `Uninstall-Package Newtonsoft.Json" donne "Impossible de trouver le paquet 'Newtonsoft.Json'"

  • Dans mon dossier de projet, je peux voir un sous-dossier "Newtonsoft.Json.5.0.6" dans le répertoire des packages

Dois-je recommencer à zéro et créer un nouveau projet? : /

Contenu de packages.dgml:

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph GraphDirection="LeftToRight" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
  <Nodes />
  <Links />
  <Categories>
    <Category Id="Projekt" />
    <Category Id="Paket" />
  </Categories>
  <Styles>
    <Style TargetType="Node" GroupLabel="Projekt" ValueLabel="True">
      <Condition Expression="HasCategory('Projekt')" />
      <Setter Property="Background" Value="Blue" />
    </Style>
  </Styles>
</DirectedGraph>

Answer #1

J'ai eu le même problème. Je n'ai pas pu réinstaller mon paquet même après toutes les modifications de package.config. Voici ce qui fonctionne pour moi.

Dans votre dossier de solution, il devrait y avoir un répertoire "packages". Ouvrez ce répertoire et supprimez le répertoire associé à votre package.

Terminé.


Answer #2

J'ai essayé cette solution et ses travaux

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
  </PropertyGroup>
  <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>

Answer #3

J'ai eu un problème similaire dans VS2017 (nouvelle installation). Je travaillais avec un projet plus ancien essayant d'installer un paquet relativement nouveau. Quand j'installais le paquet de l'interface graphique, il a clignoté pendant une seconde, puis n'a rien fait.

Le problème était que mon projet avait une cible .NET inférieure à celle du paquet. (Ma solution ciblait 4.5 et le paquet ciblait 4.6). La modification de la cible .NET à une nouvelle version dans ma configuration de projet et la reconstruction a corrigé le problème.

Ce problème peut être vu en exécutant les commandes suivantes: (Noms modifiés)

PM> Install-Package Package.NET

Attempting to gather dependency information for package 'Package.NET.1.0.0' with respect to project 'MyProject', targeting '.NETFramework,Version=v4.5'
Gathering dependency information took 0.19 ms
Attempting to resolve dependencies for package 'Package.NET.1.0.0' with DependencyBehavior 'Lowest'
Resolving dependency information took 0 ms
Resolving actions to install package 'Package.NET.1.0.0'
Resolved actions to install package 'Package.NET.1.0.0'
Retrieving package 'Package.NET.1.0.0' from 'nuget.org'.
Install failed. Rolling back...
Package 'Package.NET.1.0.0' does not exist in project 'MyProject'
Package 'Package.NET.1.0.0' does not exist in folder 'C:\Code\MyProject\packages'
Executing nuget actions took 13.92 ms
Install-Package : Could not install package 'Package.NET.1.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5', 
but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package Package.NET
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Answer #4

J'ai juste passé quatre heures sur ma nouvelle machine Windows 10 et je n'arrivais pas à comprendre pourquoi aucune référence ne fonctionnait dans Visual Studio 2015 et pourquoi je ne pouvais pas restaurer les paquets NuGet. Pour une raison quelconque, TFS a ajouté deux dossiers de paquets:

Emplacements:

C: \ Utilisateurs \ YourUser \ Documents \ Visual Studio 2015 \ Projects \ YourProject \ packages

C: \ Users \ YourUser \ .nuget \ packages

Lorsque les deux dossiers du paquet ont été retirés, je pouvais restaurer les paquets NuGet et tout a fonctionné à nouveau.





packages