public async Task <bool> UninstallPackageAsync(string packageName)
        {
            var package = await m_NuGetPackageManager.GetLatestPackageIdentityAsync(packageName);

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

            return(await m_NuGetPackageManager.RemoveAsync(package));
        }
Exemplo n.º 2
0
        protected virtual async Task <NuGetInstallResult> InstallOrUpdateAsync(string packageId, string version = null, bool isPreRelease = false, bool isUpdate = false)
        {
            PackageIdentity previousVersion = await nugetPackageManager.GetLatestPackageIdentityAsync(packageId);

            if (isUpdate && previousVersion == null)
            {
                return(new NuGetInstallResult(NuGetInstallCode.PackageOrVersionNotFound));
            }

            var package = (await nugetPackageManager.QueryPackageExactAsync(packageId, version, isPreRelease));

            if (package == null)
            {
                return(new NuGetInstallResult(NuGetInstallCode.PackageOrVersionNotFound));
            }

            if (version == null)
            {
                version = package.Identity.Version.OriginalVersion; // set to latest version
            }

            var packageIdentity = new PackageIdentity(package.Identity.Id, new NuGetVersion(version));

            var result = await nugetPackageManager.InstallAsync(packageIdentity, isPreRelease);

            if (result.Code != NuGetInstallCode.Success)
            {
                return(result);
            }

            if (isUpdate)
            {
                await nugetPackageManager.RemoveAsync(previousVersion);
            }
            return(result);
        }