示例#1
0
        void AddNuGetPackageReference(IDotNetProject project, string packageId)
        {
            var packageRepoFactory = new SharpDevelopPackageRepositoryFactory();
            var packageRepo        = packageRepoFactory.CreateRepository("http://www.nuget.org/api/v2/");
            var packageManagementProjectFactory = new PackageManagementProjectFactory(PackageManagementServices.PackageManagementEvents);
            var packageManagementProject        = packageManagementProjectFactory.CreateProject(packageRepo, project);
            var package = packageRepo.FindPackagesById(packageId).FirstOrDefault(x => x.IsLatestVersion);
            var packageManagerFactory = new SharpDevelopPackageManagerFactory();
            var packageManager        = packageManagerFactory.CreatePackageManager(packageRepo, project);

            packageManager.InstallPackage(package, false, false);
            packageManagementProject.AddPackageReference(package);
        }
        public void CreateAggregateRepository_OnePackageSourceHasInvalidUri_NoExceptionThrownWhenCreatingAggregateRepositoryAndSearchingForPackages()
        {
            CreatePackageSources();
            packageSourcesHelper.RegisteredPackageSources.Clear();
            var invalidPackageSource = new PackageSource(String.Empty, "InvalidSource");

            packageSourcesHelper.RegisteredPackageSources.Add(invalidPackageSource);
            var factory = new SharpDevelopPackageRepositoryFactory();

            CreateCacheUsingPackageSources(factory);
            IPackageRepository repository = cache.CreateAggregateRepository();
            var aggregateRepository       = (MonoDevelopAggregateRepository)repository;

            Assert.IsFalse(aggregateRepository.AnyFailures());
            Assert.DoesNotThrow(() => repository.Search("abc", false));
            Assert.IsTrue(aggregateRepository.AnyFailures());
        }
        public void CreateAggregateRepository_OnePackageSourceHasInvalidUriAndSearchExecutedMultipleTimes_ExceptionThrownByPackageRepositoryIsOnlyRecordedOnce()
        {
            CreatePackageSources();
            packageSourcesHelper.RegisteredPackageSources.Clear();
            var invalidPackageSource = new PackageSource(String.Empty, "InvalidSource");

            packageSourcesHelper.RegisteredPackageSources.Add(invalidPackageSource);
            var factory = new SharpDevelopPackageRepositoryFactory();

            CreateCacheUsingPackageSources(factory);
            IPackageRepository repository = cache.CreateAggregateRepository();
            var aggregateRepository       = (MonoDevelopAggregateRepository)repository;

            repository.Search("abc", false);
            repository.Search("abc", false);
            repository.Search("abc", false);

            Assert.IsTrue(aggregateRepository.AnyFailures());
            Assert.AreEqual(1, aggregateRepository.GetAggregateException().InnerExceptions.Count);
        }