UpdatePackage() public méthode

public UpdatePackage ( IPackage newPackage, bool updateDependencies, bool allowPrereleaseVersions ) : void
newPackage IPackage
updateDependencies bool
allowPrereleaseVersions bool
Résultat void
        public override bool UpdatePackage(string packageId, string version)
        {
            var installedRepository = GetInstalledRepository();

            IPackage package;
            if (string.IsNullOrEmpty(version))
            {
                package = installedRepository.FindPackage(packageId);
            }
            else
            {
                var semanticVersion = new SemanticVersion(version);
                package = installedRepository.FindPackage(packageId, semanticVersion);
            }

            if (package == null)
            {
                return false;
            }

            var packageManager = new PackageManager(installedRepository, InstalledRepository);
            packageManager.PackageInstalled += InstallPackage;

            packageManager.UpdatePackage(package, false, true);

            return true;
        }
        public virtual void UpdatePackage([NotNull] string packageId, [CanBeNull] SemanticVersion version)
        {
            var availableRepository = GetAvailableRepository();

            var packageManager = new PackageManager(availableRepository, InstalledRepository);
            packageManager.PackageInstalled += InstallPackage;

            if (version != null)
            {
                packageManager.UpdatePackage(packageId, version, false, true);
            }
            else
            {
                packageManager.UpdatePackage(packageId, false, true);
            }
        }
        public override bool InstallOrUpdatePackage(string packageId)
        {
            var installableRepository = GetInstallableRepository();
            var installablePackage = installableRepository.FindPackage(packageId);
            if (installablePackage == null)
            {
                return false;
            }

            var installedRepository = GetInstalledRepository();
            var installedPackages = installedRepository.GetPackages().ToList();

            var packageManager = new PackageManager(installableRepository, InstalledRepository);
            packageManager.PackageInstalled += InstallPackage;

            var installedPackage = installedPackages.FirstOrDefault(i => string.Equals(i.Id, packageId, StringComparison.OrdinalIgnoreCase));
            if (installedPackage != null)
            {
                if (installedPackage.Version == installablePackage.Version)
                {
                    packageManager.UninstallPackage(installedPackage, true);
                    packageManager.InstallPackage(installablePackage, false, true);
                }
                else
                {
                    packageManager.UpdatePackage(installablePackage, false, true);
                }
            }
            else
            {
                packageManager.InstallPackage(installablePackage, false, true);
            }

            return true;
        }
        public virtual void InstallOrUpdatePackage([NotNull] string packageId)
        {
            var availableRepository = GetAvailableRepository();
            var availablePackage = availableRepository.FindPackage(packageId);
            if (availablePackage == null)
            {
                throw new InvalidOperationException("Package not found: " + packageId);
            }

            var installedRepository = GetInstalledRepository();
            var installedPackages = installedRepository.GetPackages().ToList();

            var packageManager = new PackageManager(availableRepository, InstalledRepository);
            packageManager.PackageInstalled += InstallPackage;

            var installedPackage = installedPackages.FirstOrDefault(i => string.Equals(i.Id, packageId, StringComparison.OrdinalIgnoreCase));
            if (installedPackage != null)
            {
                if (installedPackage.Version == availablePackage.Version)
                {
                    packageManager.UninstallPackage(installedPackage, true);
                    packageManager.InstallPackage(availablePackage, false, true);
                }
                else
                {
                    packageManager.UpdatePackage(availablePackage, false, true);
                }
            }
            else
            {
                packageManager.InstallPackage(availablePackage, false, true);
            }
        }