// Based primarily on NuGet.CommandLine.Commands.UpdateCommand internal void InstallPackages() { Trace.Verbose($"Installing packages to {GetAbsolutePackagesPath().FullPath} (using {(UseLocal ? "local" : "global")} packages folder)"); SourceRepository localSourceRepository = SourceRepositoryProvider.CreateRepository(new PackageSource(GetAbsolutePackagesPath().FullPath)); List <SourceRepository> defaultSourceRepositories = _packageSources.Select(SourceRepositoryProvider.CreateRepository).ToList(); // Install the packages _nuGetProject.StartPackageInstall(); Parallel.ForEach(_packages, package => { List <SourceRepository> sourceRepositories = defaultSourceRepositories; if (package.PackageSources != null && package.PackageSources.Count > 0) { sourceRepositories = package.PackageSources.Select(SourceRepositoryProvider.CreateRepository).ToList(); if (!package.Exclusive) { sourceRepositories = sourceRepositories.Concat(defaultSourceRepositories).ToList(); } } package.InstallPackage(this, UpdatePackages, localSourceRepository, sourceRepositories); }); // Process the package (do this after all packages have been installed) _nuGetProject.ProcessAssembliesAndContent(); }
internal PackageInstaller(IFileSystem fileSystem, AssemblyLoader assemblyLoader) { _fileSystem = fileSystem; _assemblyLoader = assemblyLoader; _currentFramework = GetCurrentFramework(); _settings = Settings.LoadDefaultSettings(fileSystem.RootPath.FullPath, null, new MachineWideSettings()); _sourceRepositories = new SourceRepositoryProvider(_settings); }
internal PackageInstaller(IFileSystem fileSystem, AssemblyLoader assemblyLoader) { _fileSystem = fileSystem; _assemblyLoader = assemblyLoader; _currentFramework = GetCurrentFramework(); _settings = Settings.LoadDefaultSettings(fileSystem.RootPath.FullPath, null, new XPlatMachineWideSetting()); SettingsUtility.SetConfigValue( _settings, ConfigurationConstants.SignatureValidationMode, nameof(SignatureValidationMode.Accept)); _sourceRepositories = new SourceRepositoryProvider(_settings); }