Я создаю пакет NuGet, и я хотел бы, чтобы пакет отображал уведомление всякий раз, когда обновление для пакета присутствует в репозитории (который является частным репозиторием, а не официальным репозиторием NuGet).
Обратите внимание, что я не хочу, чтобы пакет обновлялся автоматически (на случай, если новая версия может вызвать некоторые проблемы), а просто уведомлял пользователя
Для этого я добавил это в свой init Файл .ps1
в пакете:
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
}
Проверка на $update.Version -gt $package.Version
необходима, чтобы не показывать уведомление при установке нового пакета.
Я хотел бы знать,
MessageBox
довольно раздражает: оно прячется за диалогом «подготовка решения», когда я открываю проект, и операция не завершается, пока я не нажму Ok.