Exemple #1
0
        private static bool PackageNeedsInstalling(IEnumerable <IVsPackageMetadata> installedPackages, INugetPackageReference package)
        {
            var shouldInstall = false;

            // check whether we should install based on whether we have the current assembly and all it's DLLs
            var installedPackage = installedPackages.FirstOrDefault(x => string.Equals(x.Id, package.Name, StringComparison.OrdinalIgnoreCase));

            if (installedPackage != null)
            {
                try
                {
                    var requestedVersion = SemanticVersion.Parse(package.Version);
                    var installedVersion = SemanticVersion.Parse(installedPackage.VersionString);

                    if (requestedVersion.IsNewerThan(installedVersion))
                    {
                        shouldInstall = true;
                    }
                }
                catch (FormatException)
                {
                    shouldInstall = true;
                }
            }
            else
            {
                shouldInstall = true;
            }

            return(shouldInstall);
        }
Exemple #2
0
 private static void InstallPackage(Project currentProject, IUnitTestGeneratorPackage generatorPackage, INugetPackageReference package)
 {
     try
     {
         generatorPackage.PackageInstaller.InstallPackage("All", currentProject, package.Name, package.Version, false);
     }
     catch (InvalidOperationException)
     {
         generatorPackage.PackageInstaller.InstallPackage("https://www.nuget.org/api/v2/", currentProject, package.Name, package.Version, false);
     }
 }