Erstellen Sie ein NuGet-Paket, das Aktualisierungsbenachrichtigungen anzeigt

Ich erstelle ein NuGet-Paket und möchte, dass das Paket eine Benachrichtigung anzeigt, wenn ein Update für das Paket im Repository vorhanden ist (dies ist ein privates Repository, nicht das offizielle NuGet-Repository).

Bitte beachten Sie, dass ich nicht möchte, dass sich das Paket automatisch aktualisiert (falls die neue Version Probleme mit sich bringt), sondern nur den Benutzer benachrichtigt.

Um dies zu tun, habe ich dies in meineminit.ps1 Datei im Paket:

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
}

Die Prüfung auf$update.Version -gt $package.Version wird benötigt, um zu vermeiden, dass die Benachrichtigung angezeigt wird, wenn das neuere Paket installiert wird.

Ich würde gerne wissen, ob

Diese Lösung ist akzeptabel, oder wenn es eine bessere und "standardmäßige" Möglichkeit gibt, dies zu tun (anstatt meine eigene Lösung zu brauen).Es gibt eine bessere Möglichkeit, eine Benachrichtigung anzuzeigen, als dieMessageBox ist eher ärgerlich: es verbirgt sich hinter dem Dialogfeld "Lösung vorbereiten", wenn ich das Projekt öffne, und der Vorgang wird erst abgeschlossen, wenn ich auf OK klicke.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage