it-swarm.com.de

package.config-Update aktualisiert die Referenzen nicht

Ich habe mehrere Projekte, die auf dasselbe NuGet-Paket verweisen. Als ich den neuesten Code erhielt, wurde mir klar, dass eines der Projekte eine aktualisierte package.config und auch einen aktualisierten Verweis auf die Dll enthielt, die von diesem Paket bereitgestellt wird.

Jetzt habe ich auch package.config für andere Projekte aktualisiert und hoffte, sobald ich ein Upgrade für diese NuGet-Engine durchführe, wird das sehen und ich bekomme neue DLLs. Nun, es ist nicht passiert. Danach habe ich folgende Dinge ausprobiert und keines hat funktioniert:

  1. Löschen Sie die alte Version von DLL und führen Sie dann das Wiederherstellungspaket aus
  2. Löschen des Paketordners, Neustarten von VS 2015 und Wiederherstellen des Pakets

Eine lustige Sache ist auch, dass, wenn ich zu Nuget-Pakete verwalten gehe und mir das Paket anschaue, für das ich neue DLL benötige, dies zeigt, dass es sich bereits um eine neue Version handelt und ich kein Upgrade durchführen muss.

Gibt es irgendwelche Möglichkeiten, wie ich mit NuGet Engine diese Pakete aktualisieren kann?

12
Lost

Wenn Sie nur die Datei packages.config bearbeiten, nimmt Visual Studio keine Änderungen an Ihrem Projekt vor. Auch NuGet Restore ändert Ihr Projekt nicht. NuGet Restore lädt nur die NuGet-Pakete herunter und stellt sie für Ihr Projekt zur Verfügung.

Anstatt die Datei packages.config zu bearbeiten, würde ich einfach den NuGet Package Manager in Visual Studio oder die Package Management Console verwenden, um das NuGet-Paket in den erforderlichen Projekten zu aktualisieren.

Andere Alternativen umfassen das Aktualisieren der Projektdateien (.csproj), um die richtigen aktualisierten Assemblyreferenzen zu verwenden. Sie können auch einen Update-Package -reinstall ausführen, um zu erzwingen, dass die NuGet-Pakete deinstalliert und erneut in den Projekten installiert werden. Dadurch werden die Assembly-Referenzen korrigiert.

17
Matt Ward

Wenn Ihre Lösung von Visual Studio 2017 geöffnet werden kann, empfehle ich die Verwendung der neuesten PackageReference zum Verwalten von Nuget. Packages.config hat mehrere Nachteile, und PackageReference löst diese Probleme. 

Hier ist die Lösung für die Migration zu PackageReference: https://github.com/NuGet/Home/wiki/Packages.config-to-PackageReference-Migrator

Sie können dies auch gegen folgende Erweiterung verwenden: https://marketplace.visualstudio.com/items?itemName=TaylorSouthwickMSFT.NuGetPackagetoProjectjsonConverter

0
Feiyu Zhou