Exemplo n.º 1
0
        public override void ExecuteCommand()
        {
            if (!string.IsNullOrEmpty(Arguments[0]))
            {
                List<string> assemblies = new List<string>();
                if (!Arguments[0].EndsWith(".dll"))
                {
                    fileSystem = CreateFileSystem(Directory.GetCurrentDirectory());
                    assemblies.AddRange(GetAssemblyListFromDirectory());
                }
                else
                {
                    assemblies.Add(Arguments[0]);
                }


                Stopwatch sw = new Stopwatch();
                sw.Start();
                var repository = GetRepository();
                IQueryable<IPackage> packageSource = GetPackageList(repository);
                resolver = new RepositoryAssemblyResolver(assemblies, packageSource, fileSystem, Console);

                Dictionary<string, List<IPackage>> assemblyLocations = new Dictionary<string, List<IPackage>>();
                if (assemblies.Count > 0)
                {
                    assemblyLocations = resolver.ResolveAssemblies(Exhaustive);
                }

                Console.WriteLine();
                sw.Stop();

                if (!OutputPackageConfig)
                {
                    OutputResultsToConsole(sw, assemblyLocations);
                }
                else
                {
                    resolver.OutputPackageConfigFile();
                    OutputErrors(assemblyLocations);
                }

                Environment.Exit(0);

            }
        }
Exemplo n.º 2
0
        private Dictionary <string, List <IPackage> > ResolveAssembliesToPackagesConfigFile(FileInfo projectFileInfo, List <string> referenceFiles)
        {
            var results = new Dictionary <string, List <IPackage> >();

            if (referenceFiles.Any())
            {
                Console.WriteLine("Checking feed for {0} references...", referenceFiles.Count);

                IQueryable <IPackage> packageSource = GetRepository().GetPackages().OrderBy(p => p.Id);

                var assemblyResolver = new RepositoryAssemblyResolver(referenceFiles,
                                                                      packageSource,
                                                                      new PhysicalFileSystem(projectFileInfo.Directory.ToString()),
                                                                      Console);
                results = assemblyResolver.ResolveAssemblies(false);
                assemblyResolver.OutputPackageConfigFile();
            }
            else
            {
                Console.WriteWarning("No references found to resolve (all GAC?)");
            }
            return(results);
        }