File tree Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Original file line number Diff line number Diff line change 2
2
"cSpell.words" : [
3
3
" cuda" ,
4
4
" Nieto" ,
5
- " powerprepare"
5
+ " powerprepare" ,
6
+ " Runspace"
6
7
]
7
8
}
Original file line number Diff line number Diff line change 4
4
5
5
using System . Collections . Generic ;
6
6
using System . Diagnostics ;
7
+ using System . Management . Automation ;
7
8
using System . Text . RegularExpressions ;
8
9
9
10
namespace AnyPackage . Provider . DotNet
@@ -168,8 +169,25 @@ public void UninstallPackage(PackageRequest request)
168
169
169
170
public void UpdatePackage ( PackageRequest request )
170
171
{
171
- //TODO: Support wildcard
172
- var args = $ "tool update { request . Name } --global";
172
+ using var powershell = PowerShell . Create ( RunspaceMode . CurrentRunspace ) ;
173
+
174
+ var packages = powershell . AddCommand ( "Get-Package" )
175
+ . AddParameter ( "Provider" , ".NET Tool" )
176
+ . AddCommand ( "Where-Object" )
177
+ . AddParameter ( "Property" , "Name" )
178
+ . AddParameter ( "Like" )
179
+ . AddParameter ( "Value" , request . Name )
180
+ . Invoke < PackageInfo > ( ) ;
181
+
182
+ foreach ( var package in packages )
183
+ {
184
+ InvokeUpdate ( request , package . Name ) ;
185
+ }
186
+ }
187
+
188
+ private void InvokeUpdate ( PackageRequest request , string name )
189
+ {
190
+ var args = $ "tool update { name } --global";
173
191
174
192
if ( request . Version is not null )
175
193
{
You can’t perform that action at this time.
0 commit comments