private static async Task <AttemptedPackage> RestorePackageAsync( PackageReference packageReference, PackageRestoreContext packageRestoreContext, INuGetProjectContext nuGetProjectContext, PackageDownloadContext downloadContext) { Exception exception = null; var restored = false; try { restored = await packageRestoreContext.PackageManager.RestorePackageAsync( packageReference.PackageIdentity, nuGetProjectContext, downloadContext, packageRestoreContext.SourceRepositories, packageRestoreContext.Token); } catch (Exception ex) { exception = ex; } packageRestoreContext.PackageRestoredEvent?.Invoke(null, new PackageRestoredEventArgs(packageReference.PackageIdentity, restored)); // PackageReferences cannot be null here if (exception != null) { if (!string.IsNullOrEmpty(exception.Message)) { nuGetProjectContext.Log(MessageLevel.Warning, exception.Message); } if (packageRestoreContext.PackageRestoreFailedEvent != null) { var packageReferenceComparer = new PackageReferenceComparer(); var packageRestoreData = packageRestoreContext.Packages .Where(p => packageReferenceComparer.Equals(p.PackageReference, packageReference)) .SingleOrDefault(); if (packageRestoreData != null) { Debug.Assert(packageRestoreData.ProjectNames != null); packageRestoreContext.PackageRestoreFailedEvent( null, new PackageRestoreFailedEventArgs(packageReference, exception, packageRestoreData.ProjectNames)); } } } return(new AttemptedPackage { Restored = restored, Package = packageReference }); }
private static async Task <bool> RestorePackageAsync(Packaging.PackageReference packageReference, PackageRestoreContext packageRestoreContext, INuGetProjectContext nuGetProjectContext) { Exception exception = null; var restored = false; try { restored = await packageRestoreContext.PackageManager.RestorePackageAsync(packageReference.PackageIdentity, nuGetProjectContext, packageRestoreContext.SourceRepositories, packageRestoreContext.Token); } catch (Exception ex) { exception = ex; } if (packageRestoreContext.PackageRestoredEvent != null) { packageRestoreContext.PackageRestoredEvent(null, new PackageRestoredEventArgs(packageReference.PackageIdentity, restored)); } // PackageReferences cannot be null here if (exception != null) { nuGetProjectContext.Log(ProjectManagement.MessageLevel.Warning, exception.Message); if (packageRestoreContext.PackageRestoreFailedEvent != null) { var packageReferenceComparer = new PackageReferenceComparer(); var packageRestoreData = packageRestoreContext.Packages .Where(p => packageReferenceComparer.Equals(p.PackageReference, packageReference)) .SingleOrDefault(); if (packageRestoreData != null) { Debug.Assert(packageRestoreData.ProjectNames != null); packageRestoreContext.PackageRestoreFailedEvent(null, new PackageRestoreFailedEventArgs(packageReference, exception, packageRestoreData.ProjectNames)); } } } return(restored); }