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