Создайте пакет NuGet, отображающий уведомления об обновлениях.

Я создаю пакет 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необходима, чтобы не показывать уведомление при установке нового пакета.

Я хотел бы знать,

  1. приемлемо ли это решение или есть лучший и "стандартный" способ сделать это (вместо того, чтобы варить собственное решение).
  2. Есть лучший способ показать уведомление, так как MessageBoxдовольно раздражает: оно прячется за диалогом «подготовка решения», когда я открываю проект, и операция не завершается, пока я не нажму Ok.
5
задан Paolo Tedesco 15 June 2012 в 12:23
поделиться