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); } }