【发布时间】:2013-01-30 00:14:27
【问题描述】:
我正在创建一个 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相当烦人:当我打开项目时它隐藏在“准备解决方案”对话框的后面,并且直到我点击确定后操作才完成。李>
【问题讨论】:
标签: c# .net powershell nuget