SOMS/SolutionCleanupTool/Interfaces/IValidationEngine.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 validating solution files after cleanup
/// </summary>
public interface IValidationEngine
{
/// <summary>
/// Validates a solution file for correctness and loadability
/// </summary>
/// <param name="solutionPath">Path to the solution file to validate</param>
/// <returns>Validation result with any errors or warnings</returns>
ValidationResult ValidateSolution(string solutionPath);
/// <summary>
/// Verifies that all project files in the references exist and are readable
/// </summary>
/// <param name="references">List of project references to verify</param>
/// <returns>True if all project files are valid, false otherwise</returns>
bool VerifyProjectFiles(List<ProjectReference> references);
/// <summary>
/// Checks a dependency graph for circular references
/// </summary>
/// <param name="graph">The dependency graph to check</param>
/// <returns>True if the graph is valid (no circular references), false otherwise</returns>
bool CheckDependencyGraph(DependencyGraph graph);
}
}