wake-up-neo.com

Das NuGet-Paket kann nicht deinstalliert/neu installiert werden

Ich habe mein Projekt mit Visual Studio Express 2012 eingerichtet, C # -Code hinzugefügt und den Emulator erfolgreich kompiliert/bereitgestellt. Irgendwann entschied ich mich, etwas mit JSON zu machen, und ich stellte fest, dass ich das Json.NET-Framework verwenden sollte, das als NuGet-Paket verfügbar ist. Ich habe dieses Framework erfolgreich mit dem Befehl Install-Package Newtonsoft.Json hinzugefügt.

Ich habe versucht, ein Update zu installieren, das MSVC vor zwei Tagen angeboten hat. Die Installation ist fehlgeschlagen, sodass ich mein Projekt nicht mehr öffnen kann. Die Neuinstallation von MSVC hat nicht geholfen, also habe ich Windows auf einen früheren Zustand zurückgesetzt. Ich konnte mein Projekt wieder öffnen und wollte das NuGet-Paket erneut installieren (ohne zu wissen, dass es im Projekt installiert ist, nicht MSVC). Es gab mir bei der Installation Fehler, also versuchte ich, alles von der Paketkonsole zu deinstallieren.

Um es kurz zu machen: 

  • Die Nuget-Paketkonsole sagt "keine Pakete installiert", wenn Get-Package 
  • Wenn Sie Install-Package Newtonsoft.Json erneut ausführen, wird der Fehler angezeigt

    Newtonsoft.Json 5.0.6 konnte nicht installiert werden. Sie versuchen, dieses Paket in einem Projekt zu installieren, das auf "WindowsPhone, Version = v8.0" verweist. Das Paket enthält jedoch keine mit diesem Framework kompatiblen Assemblys

  • Im Dialogfeld "NuGet-Pakete verwalten" wird unter "installiert" keine Pakete angezeigt. Im Online-Paket wird jedoch das json-Paket aufgeführt und als installiert markiert (daher kann ich nicht versuchen, es zu installieren).

Jetzt bin ich völlig verloren. Ich weiß nicht, wie ich das Paket richtig installieren oder richtig entfernen kann. Ist meine Projektdatei defekt? Wie kann ich es reparieren?


[edit] Jetzt wird es noch verwirrender. Ich habe gerade den Paketmanager von NuGet (nicht MSVC) aktualisiert und versucht, Json.NET neu zu installieren.

  • Im Dialog wird es immer noch nicht unter "installiert" angezeigt
  • In der Online-Paketliste ist es nicht mehr als installiert markiert, aber durch Klicken auf "Installieren" werden nur nothing ausgeführt.
  • Get-Package in der Konsole zeigt das installierte Paket an 

    PM> Get-Package
    
    Id                             Version              Description/Release Notes                                                                                                                                                                                            
    --                             -------              -------------------------                                                                                                                                                                                            
    Newtonsoft.Json                5.0.6                Json.NET is a popular high-performance JSON framework for .NET
    
  • Beim Deinstallieren mit `Uninstall-Package Newtonsoft.Json" wird "Das Paket 'Newtonsoft.Json' wurde nicht gefunden"

  • In meinem Projektordner sehe ich einen Unterordner "Newtonsoft.Json.5.0.6" im Verzeichnis packages

Soll ich einfach von vorne anfangen und ein neues Projekt erstellen? : /


Inhalt von 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>
34
user826955

In Ihrer Projektmappe oder Ihrem Projekt finden Sie eine Datei mit dem Namen packages.config. Öffnen Sie diese Datei und Sie sehen alle Pakete, die NuGet installiert hat.

Die Datei sieht ungefähr so ​​aus:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Json" version="2.0.3" targetFramework="net45" />
</packages>

Löschen Sie einfach die Zeile Ihres Pakets und speichern Sie die Datei.

<?xml version="1.0" encoding="utf-8"?>
<packages>
</packages>

Führen Sie dann erneut NuGet aus und es sollte installiert werden.

Das JSON.NET NuGet-Paket sollte einfach mit einem Windows Phone 8.0-Projekt zusammenarbeiten . Durch das Hinzufügen in VS2012 NuGet Manager wird die WP7-Version von JSON.NET übernommen. (Packages\Newtonsoft.Json.4.5.10\lib\sl3-wp\Newtonsoft.Json.dll)

JSON.NET ist jetzt auch als Portable Class Library verfügbar, die Sie von WP8 aus konsumieren können (verfügbar in NuGet oder in Quellform).

AKTUALISIEREN:

Die neueste Version von NuGet wurde deinstalliert. 

VS 2013: Klicken Sie in der Lösung mit der rechten Maustaste auf Referenzen und Verwalten von NuGet-Paketen. In der oberen linken Ecke finden Sie "Installierte Pakete". Wählen Sie das Paket aus und eine Deinstallationsoption ist verfügbar.

VS 2015: Klicken Sie in der Lösung mit der rechten Maustaste auf Referenzen und Verwalten von NuGet-Paketen. Klicken Sie oben rechts auf die Registerkarte "Installiert". Bewegen Sie den Mauszeiger über das Paket und das "X" erscheint zur Deinstallation.

VS 2017: Klicken Sie in der Lösung mit der rechten Maustaste und "NuGet-Pakete für Lösung verwalten" im linken oberen Bereich auf die Registerkarte "Installiert". Klicken Sie auf das Paket und im rechten Fenster wird eine Schaltfläche "Deinstallieren" angezeigt.

44
paqogomez

Ich hatte das gleiche Problem. Ich konnte mein Paket auch nach allen Änderungen von package.config nicht erneut installieren. Hier was für mich arbeiten.

In Ihrem Lösungsordner sollte sich ein "Paket" -Verzeichnis befinden. Öffnen Sie dieses Verzeichnis und löschen Sie das mit Ihrem Paket verknüpfte Verzeichnis.

Erledigt.

24
Guish

Ich saß gerade vier Stunden auf meinem neuen Windows 10-Computer und konnte nicht herausfinden, warum in Visual Studio 2015 keine Referenzen funktionierten und warum ich NuGet-Pakete nicht wiederherstellen konnte. Aus irgendeinem Grund fügte TFS zwei Paketordner hinzu:

Standorte:

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

C:\Users\YourUser\.nuget\packages

Wenn beide Paketordner entfernt wurden, konnte ich die NuGet-Pakete wiederherstellen und alles funktionierte wieder.

7
Ogglas

Es ist zwar etwas verwirrend, aber es gibt verschiedene Optionen, wenn Sie mit der rechten Maustaste auf die Lösung klicken und Nuget-Pakete verwalten auswählen. Sie sollten von dort aus deinstallieren können.

Sie sollten die Antwort hier überprüfen: Windows Phone 8 JSON für weitere Informationen zu Json.net und WP8.

1
Alex Paven

Ich hatte ein ähnliches Problem in VS2017 (Neuinstallation). Ich habe mit einem älteren Projekt gearbeitet und versucht, ein relativ neues Paket zu installieren. Wenn ich das Paket von der grafischen Benutzeroberfläche aus installieren würde, blitzte es eine Sekunde lang, dann tat es nichts.

Das Problem war, dass mein Projekt ein niedrigeres .NET-Ziel als das Paket hatte. (Meine Lösung zielte auf 4.5 und das Paket auf 4.6.) Das .NET-Ziel wurde in meiner Projektkonfiguration in eine ausreichend neue Version geändert und das Problem wurde wiederhergestellt.

Dieses Problem kann durch Ausführen der folgenden Befehle angezeigt werden: (Namen geändert)

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

Ich habe diese Lösung ausprobiert

<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>
0
Mina Fawzy