2016-09-19 45 views
16

Mamy scenariusz, w którym różne zespoły pracują nad różnymi częściami większego produktu. Od czasu do czasu wszystkie projekty Visual Studio wszystkich Rozwiązań muszą zaktualizować niektóre z przywoływanych pakietów NuGet. W wyniku tej aktualizacji wszystkie projekty w całym drzewie źródłowym powinny odwoływać się do tych samych wersji pakietów.NuGet: Zaktualizuj pakiet do konkretnej wersji we wszystkich projektach za pomocą PowerShell lub CMD

Czy istnieje sposób zaktualizować konkretny pakiet Nuget do konkretnej wersji we wszystkich projektach użyciu niektórych automatycznego podejścia jak PowerShell skryptach?

Edycja: Czy istnieje sposób, aby jakoś załadować niezbędne części Visual Studio i NuGet do zaktualizować odniesienia zespołu odpowiednio?

Przykład:

NuGetScript Update Solution.sln PackageName -version NewVersion 

lub

NuGetScript Update PathToProjects PackageName -version NewVersion 

Istnieje zbyt wiele elementów, aby załadować wszystkie z nich w Visual Studio i aktualizować je ręcznie za pomocą menedżera pakietów UI.

+0

czy możesz dać mi przykład na temat tego, co chcesz zrobić? – saftargholi

Odpowiedz

7

Można utworzyć skrypt PowerShell do wyszukiwania wszystkich plików projektowych lub plików packages.config w roztworze, a następnie wywołać polecenie nuget update do aktualizacji pakietów.

Jednak nie jest to ograniczenie, gdy pakiety aktualizacyjne poza Visual Studio, polecam Ci to zrobić z Visual Studio:

Polecenie update będzie pobrać i wyodrębnić wszystkie nowe pakiety do pakietów folderów . Informacje dotyczące montażu zostaną zaktualizowane w pliku projektu , ale jest to ograniczone tylko do istniejących odniesień. Jeśli nowy pakiet ma dodany zespół, nie zostanie dodany jako część polecenia aktualizacji . Nowe zależności pakietów również nie będą miały dodanych odniesień do zespołów . Aby wykonać pełną aktualizację, należy użyć programu Visual Studio.

8

Proszę użyć następującego wiersza polecenia w oknie konsoli menedżera pakietów, aby zaktualizować konkretny pakiet w jednym rozwiązaniu.

Get-Project-All | Update Package NazwaPakietu -version Newversion

+0

Jak mogę wywołać to polecenie z programu PowerShell? –

+0

To jest polecenie konsoli menedżera pakietów, które należy uruchomić w oknie konsoli menedżera pakietów w programie Visual Studio. –

+0

To powinna być zaakceptowana odpowiedź. – UserControl