private static Uri GetPackageFeedUri(PackageVersionId id) { return new Uri( string.Format( "http://teamcity/guestAuth/app/nuget/v1/FeedService.svc/Packages(Id='{0}',Version='{1}')", id.Id, id.Version)); }
public Package(PackageVersionId versionId, IEnumerable<PackageVersionId> dependencies) { VersionId = versionId; Dependencies = dependencies; }
private async Task<IEnumerable<PackageVersionId>> GetPackageDependencies(PackageVersionId id) { XNamespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices"; try { XDocument doc = await (await GetAsync(GetPackageFeedUri(id))).GetXmlFromResponse(); string dependencies = doc.Root.Element(m + "properties").Element(d + "Dependencies").Value; return dependencies .Split('|') .Where(x => !string.IsNullOrEmpty(x)) .Select(PackageVersionId.FromFeedDependency) .Where(this.packageFilter); } catch (Exception) { Debug.WriteLine("Failed to get package {0}.", id); return Enumerable.Empty<PackageVersionId>(); } }