Tworzę pakiet NuGet i chciałbym, aby pakiet wyświetlał powiadomienie, gdy aktualizacja pakietu jest obecna w repozytorium (które jest prywatnym repozytorium, a nie oficjalnym NuGet magazyn).Utwórz pakiet NuGet, który pokazuje powiadomienia o aktualizacjach
Należy pamiętać, że nie chcę, aby pakiet aktualizował się automatycznie (w przypadku, gdy nowa wersja może powodować pewne problemy), ale wystarczy powiadomić użytkownika.
Aby to zrobić, dodałem to w moim pliku init.ps1
w opakowaniu:
param($installPath, $toolsPath, $package, $project)
$PackageName = "MyPackage"
$update = Get-Package -Updates | Where-Object { $_.Id -eq $PackageName }
if ($update -ne $null -and $update.Version -gt $package.Version) {
[System.Windows.Forms.MessageBox]::Show("New version $($update.Version) available for $($PackageName)") | Out-Null
}
jest potrzebna kontrola $update.Version -gt $package.Version
aby uniknąć wyświetlania powiadomienia, gdy jest zainstalowany nowszy pakiet.
Chciałbym wiedzieć, czy
- To rozwiązanie jest do zaakceptowania, czy istnieje lepszy i „standardowy” sposób to zrobić (zamiast warzenia moje własne rozwiązanie).
- Istnieje lepszy sposób wyświetlania powiadomienia, ponieważ
MessageBox
jest dość irytujący: ukrywa się za oknem "przygotowanie rozwiązania" po otwarciu projektu, a operacja nie zostanie zakończona, dopóki nie kliknę przycisku OK.