@@ -276,15 +276,14 @@ protected virtual void DownloadTool(
276276 CreateAssetFile ( packageId , packageVersion , packageDownloadDir , Path . Combine ( assetFileDirectory . Value , ToolPackageInstance . AssetsFileName ) , _runtimeJsonPath , targetFramework ) ;
277277
278278 // Also download RID-specific package if needed
279- var ridSpecificPackage = ResolveRidSpecificPackage ( packageId , packageVersion , packageDownloadDir , assetFileDirectory ) ;
280- if ( ridSpecificPackage != null )
279+ if ( ResolveRidSpecificPackage ( packageId , packageVersion , packageDownloadDir , assetFileDirectory ) is PackageId ridSpecificPackage )
281280 {
282- if ( ! IsPackageInstalled ( new PackageId ( ridSpecificPackage . Id ) , ridSpecificPackage . Version , packageDownloadDir . Value ) )
281+ if ( ! IsPackageInstalled ( ridSpecificPackage , packageVersion , packageDownloadDir . Value ) )
283282 {
284- DownloadAndExtractPackage ( new PackageId ( ridSpecificPackage . Id ) , nugetPackageDownloader , packageDownloadDir . Value , ridSpecificPackage . Version , packageSourceLocation , includeUnlisted : true ) ;
283+ DownloadAndExtractPackage ( ridSpecificPackage , nugetPackageDownloader , packageDownloadDir . Value , packageVersion , packageSourceLocation , includeUnlisted : true ) ;
285284 }
286285
287- CreateAssetFile ( new PackageId ( ridSpecificPackage . Id ) , ridSpecificPackage . Version , packageDownloadDir , Path . Combine ( assetFileDirectory . Value , ToolPackageInstance . RidSpecificPackageAssetsFileName ) , _runtimeJsonPath , targetFramework ) ;
286+ CreateAssetFile ( ridSpecificPackage , packageVersion , packageDownloadDir , Path . Combine ( assetFileDirectory . Value , ToolPackageInstance . RidSpecificPackageAssetsFileName ) , _runtimeJsonPath , targetFramework ) ;
288287 }
289288 }
290289
@@ -301,15 +300,14 @@ public bool TryGetDownloadedTool(
301300 }
302301 CreateAssetFile ( packageId , packageVersion , _localToolDownloadDir , Path . Combine ( _localToolAssetDir . Value , ToolPackageInstance . AssetsFileName ) , _runtimeJsonPath , targetFramework ) ;
303302
304- var ridSpecificPackage = ResolveRidSpecificPackage ( packageId , packageVersion , _localToolDownloadDir , _localToolAssetDir ) ;
305- if ( ridSpecificPackage != null )
303+ if ( ResolveRidSpecificPackage ( packageId , packageVersion , _localToolDownloadDir , _localToolAssetDir ) is PackageId ridSpecificPackage )
306304 {
307- if ( ! IsPackageInstalled ( new PackageId ( ridSpecificPackage . Id ) , ridSpecificPackage . Version , _localToolDownloadDir . Value ) )
305+ if ( ! IsPackageInstalled ( ridSpecificPackage , packageVersion , _localToolDownloadDir . Value ) )
308306 {
309307 toolPackage = null ;
310308 return false ;
311309 }
312- CreateAssetFile ( new PackageId ( ridSpecificPackage . Id ) , ridSpecificPackage . Version , _localToolDownloadDir ,
310+ CreateAssetFile ( ridSpecificPackage , packageVersion , _localToolDownloadDir ,
313311 Path . Combine ( _localToolAssetDir . Value , ToolPackageInstance . RidSpecificPackageAssetsFileName ) , _runtimeJsonPath , targetFramework ) ;
314312 }
315313
@@ -322,7 +320,7 @@ public bool TryGetDownloadedTool(
322320
323321 }
324322
325- private PackageIdentity ? ResolveRidSpecificPackage ( PackageId packageId ,
323+ private PackageId ? ResolveRidSpecificPackage ( PackageId packageId ,
326324 NuGetVersion packageVersion ,
327325 DirectoryPath packageDownloadDir ,
328326 DirectoryPath assetFileDirectory )
@@ -341,7 +339,11 @@ public bool TryGetDownloadedTool(
341339
342340 var resolvedPackage = toolConfiguration . RidSpecificPackages [ bestRuntimeIdentifier ] ;
343341
344- return resolvedPackage ;
342+ if ( resolvedPackage is PackageIdentity p )
343+ {
344+ return new PackageId ( p . Id ) ;
345+ }
346+ return null ;
345347 }
346348
347349 return null ;
0 commit comments