예제 #1
0
 public static IPackageRepository CreatePriorityPackageRepository(this IPackageSourceProvider provider, IPackageRepositoryFactory factory, IPackageRepository primaryRepository)
 {
     PackageSource[] sources = (from s in provider.GetEnabledPackageSources()
                                where !s.Source.Equals(primaryRepository.Source, StringComparison.OrdinalIgnoreCase)
                                select s).ToArray <PackageSource>();
     if (sources.Length == 0)
     {
         return(primaryRepository);
     }
     return(new PriorityPackageRepository(primaryRepository, AggregateRepository.Create(factory, sources, true)));
 }
        public static IPackageRepository CreatePriorityPackageRepository(
            this IPackageSourceProvider provider,
            IPackageRepositoryFactory factory,
            IPackageRepository primaryRepository)
        {
            var nonActivePackageSources = provider.GetEnabledPackageSources()
                                          .Where(s => !s.Source.Equals(primaryRepository.Source, StringComparison.OrdinalIgnoreCase))
                                          .ToArray();

            if (nonActivePackageSources.Length == 0)
            {
                return(primaryRepository);
            }

            var fallbackRepository = AggregateRepository.Create(factory, sources: nonActivePackageSources, ignoreFailingRepositories: true);

            return(new PriorityPackageRepository(primaryRepository, fallbackRepository));
        }