我正在創建一個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
的檢查,以避免顯示通知正在安裝新的軟件包時。
我想知道,如果
- 該解決方案是可以接受的,或者如果有一個更好,「標準」的方式做到這一點(而不是醞釀自己的解決方案)。
- 有一個更好的方式來顯示通知,因爲
MessageBox
是相當煩人的:當我打開項目時,它隱藏在「準備解決方案」對話框後面,並且操作直到我單擊確定才完成。