private Dictionary <string, List <string> > GetRepositoryReferences(string repositoryGuid, string branch) { Dictionary <string, List <string> > repositoryReferences = new Dictionary <string, List <string> >(); var filePaths = api.GetCsProjects(repositoryGuid, branch); foreach (var filePath in filePaths) { var bytes = api.GetItem(repositoryGuid, branch, filePath); using (var ms = new MemoryStream(bytes)) { var xmlDoc = new XmlDocument(); xmlDoc.Load(ms); var references = GetProjectReferences(xmlDoc); foreach (KeyValuePair <string, List <string> > kvp in references) { if (!repositoryReferences.Keys.Contains(kvp.Key)) { repositoryReferences.Add(kvp.Key, kvp.Value); } else { repositoryReferences[kvp.Key].AddRange(kvp.Value); repositoryReferences[kvp.Key] = repositoryReferences[kvp.Key].Distinct().ToList(); } } } } return(repositoryReferences); }
private static void PrintNugetPackages() { var repos = api.GetRepositories().items; foreach (var repo in repos) { var files = api.GetCsProjects(repo.id, "develop"); Console.WriteLine($"Repo: {repo.project.name}"); foreach (var file in files) { Console.WriteLine($"Project Files: {file}"); } Console.WriteLine(); } }