@@ -115,11 +115,12 @@ public override int Execute()
115
115
ToolRestoreResult [ ] toolRestoreResults =
116
116
[ .. packagesFromManifest
117
117
. AsEnumerable ( )
118
- . Select ( package => toolPackageRestorer . InstallPackages ( package , configFile ) ) ] ;
118
+ . Select ( package => toolPackageRestorer . InstallPackage ( package , configFile ) ) ] ;
119
119
120
120
Dictionary < RestoredCommandIdentifier , ToolCommand > downloaded =
121
- toolRestoreResults . SelectMany ( result => result . SaveToCache )
122
- . ToDictionary ( pair => pair . Item1 , pair => pair . Item2 ) ;
121
+ toolRestoreResults . Select ( result => result . SaveToCache )
122
+ . Where ( item => item is not null )
123
+ . ToDictionary ( pair => pair . Value . Item1 , pair => pair . Value . Item2 ) ;
123
124
124
125
EnsureNoCommandNameCollision ( downloaded ) ;
125
126
@@ -202,26 +203,26 @@ private static void EnsureNoCommandNameCollision(Dictionary<RestoredCommandIdent
202
203
203
204
public struct ToolRestoreResult
204
205
{
205
- public ( RestoredCommandIdentifier , ToolCommand ) [ ] SaveToCache { get ; }
206
+ public ( RestoredCommandIdentifier , ToolCommand ) ? SaveToCache { get ; }
206
207
public bool IsSuccess { get ; }
207
208
public string Message { get ; }
208
209
209
210
private ToolRestoreResult (
210
- ( RestoredCommandIdentifier , ToolCommand ) [ ] saveToCache ,
211
+ ( RestoredCommandIdentifier , ToolCommand ) ? saveToCache ,
211
212
bool isSuccess , string message )
212
213
{
213
214
if ( string . IsNullOrWhiteSpace ( message ) )
214
215
{
215
216
throw new ArgumentException ( "message" , nameof ( message ) ) ;
216
217
}
217
218
218
- SaveToCache = saveToCache ?? [ ] ;
219
+ SaveToCache = saveToCache ;
219
220
IsSuccess = isSuccess ;
220
221
Message = message ;
221
222
}
222
223
223
224
public static ToolRestoreResult Success (
224
- ( RestoredCommandIdentifier , ToolCommand ) [ ] saveToCache ,
225
+ ( RestoredCommandIdentifier , ToolCommand ) ? saveToCache ,
225
226
string message )
226
227
{
227
228
return new ToolRestoreResult ( saveToCache , true , message ) ;
0 commit comments