मैं एक 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
बल्कि परेशान है: जब मैं प्रोजेक्ट खोलता हूं तो यह "तैयारी समाधान" संवाद के पीछे छिपा रहता है, और जब तक मैं ठीक क्लिक नहीं करता तब तक ऑपरेशन पूरा नहीं होता है।