2016-09-19 2 views
16

Wir haben ein Szenario, wo verschiedene Teams an verschiedenen Teilen eines größeren Produkts arbeiten. Von Zeit zu Zeit müssen alle Visual Studio-Projekte aller Lösungen einige ihrer referenzierten NuGet-Pakete aktualisieren. Als Ergebnis dieses Updates sollten alle Projekte in der gesamten Quellstruktur auf dieselben Versionen der Pakete verweisen.NuGet: Aktualisieren eines Pakets auf eine bestimmte Version in allen Projekten über PowerShell oder CMD

Gibt es eine Möglichkeit, ein bestimmtes NuGet Paket auf eine bestimmte Version in allen Projekten zu aktualisieren einig automatischen Ansatz wie Powershell-Skripte?

Edit: Gibt es eine Möglichkeit, die erforderlichen Teile von Visual Studio und NuGet irgendwie auch zu laden die Assembly-Referenzen korrekt zu aktualisieren?

Beispiel:

NuGetScript Update Solution.sln PackageName -version NewVersion 

oder

NuGetScript Update PathToProjects PackageName -version NewVersion 

Es gibt zu viele Komponenten, die alle von ihnen in Visual Studio und aktualisieren Sie sie manuell über Paket-Manager UI zu laden.

+0

Können Sie mir ein Beispiel geben, was Sie tun möchten? – saftargholi

Antwort

7

können Sie ein Powershell-Skript erstellen, um alle Dateien, das Projekt zu suchen oder packages.config Dateien in Ihrer Lösung und rufen dann nuget update Befehl, um die Pakete zu aktualisieren.

Allerdings gibt es eine Einschränkung bei der Update-Pakete außerhalb von Visual Studio, ich würde Ihnen empfehlen, diese von Visual Studio zu tun:

Der Update-Befehl wird heruntergeladen und extrahieren alle neuen Pakete zu den Pakete Ordner . Assemblyreferenzen werden in der Projektdatei aktualisiert, dies ist jedoch auf nur vorhandene Referenzen beschränkt. Wenn ein neues -Paket eine hinzugefügte Baugruppe enthält, wird es nicht als Teil des Aktualisierungsbefehls hinzugefügt. Für neue Paketabhängigkeiten werden auch keine Assemblyreferenzen hinzugefügt. Um eine vollständige Aktualisierung durchzuführen, verwenden Sie Visual Studio Studio.

8

Verwenden Sie die folgende Befehlszeile im Fenster der Package Manager-Konsole, um ein bestimmtes Paket in einer Lösung zu aktualisieren.

Get-Project -All | Update-Paket Package -Version newVersion

+0

Wie kann ich diesen Befehl von PowerShell aufrufen? –

+0

Dies ist der Befehl Package Manager Console, der im Fenster der Package Manager-Konsole in Visual Studio ausgeführt werden muss. –

+0

Dies sollte die akzeptierte Antwort sein. – UserControl

Verwandte Themen