| File: Commands\Tool\Install\LocalToolsResolverCacheExtensions.cs | Web Access |
| Project: src\sdk\src\Cli\dotnet\dotnet.csproj (dotnet) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. #nullable disable using Microsoft.DotNet.Cli.ToolPackage; using Microsoft.DotNet.Cli.Utils; using NuGet.Frameworks; namespace Microsoft.DotNet.Cli.Commands.Tool.Install; internal static class LocalToolsResolverCacheExtensions { public static void SaveToolPackage( this ILocalToolsResolverCache localToolsResolverCache, IToolPackage toolDownloadedPackage, string targetFrameworkToInstall) { if (localToolsResolverCache == null) { throw new ArgumentNullException(nameof(localToolsResolverCache)); } if (toolDownloadedPackage == null) { throw new ArgumentNullException(nameof(toolDownloadedPackage)); } if (string.IsNullOrWhiteSpace(targetFrameworkToInstall)) { throw new ArgumentException("targetFrameworkToInstall cannot be null or whitespace", nameof(targetFrameworkToInstall)); } localToolsResolverCache.Save( new Dictionary<RestoredCommandIdentifier, ToolCommand> { [new RestoredCommandIdentifier( toolDownloadedPackage.Id, toolDownloadedPackage.Version, NuGetFramework.Parse(targetFrameworkToInstall), Constants.AnyRid, toolDownloadedPackage.Command.Name)] = toolDownloadedPackage.Command }); } }