private T ProcessNuspecReader <T>(string id, NuGetVersion version, Func <NuspecReader, T> process) { var nuspecPath = _resolver.GetManifestFilePath(id, version); using (var stream = File.OpenRead(nuspecPath)) { NuspecReader nuspecReader; try { nuspecReader = new NuspecReader(stream); } catch (XmlException ex) { var message = string.Format(CultureInfo.CurrentCulture, Strings.Protocol_PackageMetadataError, id + "." + version, _source); var inner = new PackagingException(message, ex); throw new FatalProtocolException(message, inner); } catch (PackagingException ex) { var message = string.Format(CultureInfo.CurrentCulture, Strings.Protocol_PackageMetadataError, id + "." + version, _source); throw new FatalProtocolException(message, ex); } return(process(nuspecReader)); } }
public override Task <FindPackageByIdDependencyInfo> GetDependencyInfoAsync(string id, NuGetVersion version, CancellationToken token) { var info = GetPackageInfo(id, version); FindPackageByIdDependencyInfo dependencyInfo = null; if (info != null) { var nuspecPath = Path.Combine(info.Path, $"{id}.nuspec"); using (var stream = File.OpenRead(nuspecPath)) { NuspecReader nuspecReader; try { nuspecReader = new NuspecReader(stream); } catch (XmlException ex) { var message = string.Format(CultureInfo.CurrentCulture, Strings.Protocol_PackageMetadataError, id + "." + version, _source); var inner = new PackagingException(message, ex); throw new FatalProtocolException(message, inner); } catch (PackagingException ex) { var message = string.Format(CultureInfo.CurrentCulture, Strings.Protocol_PackageMetadataError, id + "." + version, _source); throw new FatalProtocolException(message, ex); } dependencyInfo = GetDependencyInfo(nuspecReader); } } return(Task.FromResult(dependencyInfo)); }