public static DependencyFinderEngine ComputeDependencies(IEnumerable <string> inputAssemblies, IProgressTask progressTask)
        {
            var engine = new DependencyFinderEngine(inputAssemblies);

            engine.FindDependencies(progressTask);

            return(engine);
        }
        public static DependencyFinderEngine ComputeDependencies(IEnumerable<string> inputAssemblies, IProgressTask progressTask)
        {
            var engine = new DependencyFinderEngine(inputAssemblies);

            engine.FindDependencies(progressTask);

            return engine;
        }
        public IDependencyInfo FindDependencies(IEnumerable <IAssemblyFile> inputAssemblies, IProgressReporter _progressReport)
        {
            var inputAssemblyPaths = inputAssemblies.Where(f => FilterValidFiles(f, _progressReport)).Select(i => i.Name).ToList();

            using (var task = _progressReport.StartTask(LocalizedStrings.DetectingAssemblyReferences, inputAssemblyPaths.Count))
            {
                try
                {
                    return(DependencyFinderEngine.ComputeDependencies(inputAssemblyPaths, task));
                }
                catch (Exception)
                {
                    task.Abort();
                    throw;
                }
            }
        }