我正在创建一个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
是相当烦人的:当我打开项目时,它隐藏在“准备解决方案”对话框后面,并且操作直到我单击确定才完成。