fix non-transitive for solution

This commit is contained in:
Matt Parker
2025-11-03 19:39:50 +10:00
parent d67219cd60
commit e105038cf0
3 changed files with 23 additions and 12 deletions

View File

@@ -9,7 +9,7 @@ using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence;
namespace SharpIDE.Application.Features.Nuget;
public record InstalledNugetPackageInfo(bool IsTransitive, List<ProjectPackageReference> ProjectPackageReferences);
public record InstalledNugetPackageInfo(bool IsPrimarilyTransitive, List<ProjectPackageReference> ProjectPackageReferences);
public record IdePackageResult(string PackageId, List<IdePackageFromSourceResult> PackageFromSources, InstalledNugetPackageInfo? InstalledNugetPackageInfo);
public record struct IdePackageFromSourceResult(IPackageSearchMetadata PackageSearchMetadata, PackageSource Source);
public class NugetClientService
@@ -118,8 +118,8 @@ public class NugetClientService
var packagesResult = new List<IdePackageResult>();
foreach (var installedPackage in installedPackages)
{
var isTransitive = installedPackage.ProjectPackageReferences.Any(p => p.IsTransitive);
var installedNugetPackageInfo = new InstalledNugetPackageInfo(isTransitive, installedPackage.ProjectPackageReferences);
var isPrimarilyTransitive = installedPackage.ProjectPackageReferences.Any(p => p.IsTransitive is false) is false;
var installedNugetPackageInfo = new InstalledNugetPackageInfo(isPrimarilyTransitive, installedPackage.ProjectPackageReferences);
var idePackageResult = new IdePackageResult(installedPackage.Name, [], installedNugetPackageInfo);
foreach (var source in packageSources)