private static bool CheckFrameworkMatch(PackageReaderBase packageReader, NuGetFramework targetFramework, ref NugetPackageType type) { var frameworkReducer = new FrameworkReducer(); Dictionary <NugetPackageType, Func <IEnumerable <FrameworkSpecificGroup> > > getter = new Dictionary <NugetPackageType, Func <IEnumerable <FrameworkSpecificGroup> > > { { NugetPackageType.DotNetImplementationAssembly, () => packageReader.GetItems(NugetPackage.DotNetImplementationAssemblyPath) }, { NugetPackageType.DotNetCompileTimeAssembly, () => packageReader.GetItems(NugetPackage.DotNetCompileTimeAssemblyPath) }, }; foreach (var get in getter) { var items = get.Value(); var targetFrameworkString = targetFramework.GetFrameworkString(); var match = items.Where(x => targetFrameworkString == x.TargetFramework.GetFrameworkString()); if (match.Count() > 0) { type = get.Key; return(true); } } return(false); }
public static Framework ToFramework(this NuGetFramework source) => new Framework(source.GetFrameworkString());