SOMS/SolutionCleanupTool/Interfaces/IProjectReferenceAnalyzer.cs
2025-12-31 14:25:09 +08:00

32 lines
1.3 KiB
C#

using System.Collections.Generic;
using SolutionCleanupTool.Models;
namespace SolutionCleanupTool.Interfaces
{
/// <summary>
/// Interface for analyzing project references to determine validity
/// </summary>
public interface IProjectReferenceAnalyzer
{
/// <summary>
/// Analyzes a single project reference for validity
/// </summary>
/// <param name="reference">The project reference to analyze</param>
/// <returns>Analysis result indicating validity and any issues</returns>
AnalysisResult AnalyzeReference(ProjectReference reference);
/// <summary>
/// Finds all missing projects from a list of references
/// </summary>
/// <param name="references">List of project references to check</param>
/// <returns>List of missing projects</returns>
List<MissingProject> FindMissingProjects(List<ProjectReference> references);
/// <summary>
/// Builds a dependency graph from valid project references
/// </summary>
/// <param name="validReferences">List of valid project references</param>
/// <returns>Dependency graph showing project relationships</returns>
DependencyGraph BuildDependencyGraph(List<ProjectReference> validReferences);
}
}