private static void OutputDependencyDifferences(ILogger logger, IEnumerable <ProjectNugetsGrouping> projects) { var comparer = new ProjectsNugetsComparer(); var nugetDifferences = comparer.Compare(projects); foreach (var difference in nugetDifferences) { if (difference.TargetFrameworkDifferences.Count > 0) { logger.Information("{Package} has different frameworks targetted {TargetFrameworks} across different projects" , difference.PackageName , difference.TargetFrameworkDifferences.Select(targetFrameworkDifference => targetFrameworkDifference.TargetFramework)); foreach (var targetFrameworkDifference in difference.TargetFrameworkDifferences) { logger.Information("{Package} {TargetFramework} referenced in projects {Projects}", difference.PackageName, targetFrameworkDifference.TargetFramework, targetFrameworkDifference.ProjectNames); } } if (difference.VersionDifferences.Count > 0) { logger.Information("{Package} has multiple versions {Versions} referenced in different projects" , difference.PackageName , difference.VersionDifferences.Select(versionDifference => versionDifference.Version)); foreach (var versionDifference in difference.VersionDifferences) { logger.Information("{Package} {Version} referenced in projects {Projects}", difference.PackageName, versionDifference.Version, versionDifference.ProjectNames); } } } }
public ProjectsNugetsComparerTests() { Target = new ProjectsNugetsComparer(); }