private FileDependencies GetProjectDependencies(string projectName, DirectoryInfo directory) { string fileName = directory .EnumerateFileSystemInfos("*.??proj", SearchOption.TopDirectoryOnly) .FirstOrDefault(x => !x.Extension.EndsWith("vdproj", StringComparison.OrdinalIgnoreCase)) ?.FullName; if (fileName == null) { return(null); } var doc = XDocument.Load(fileName); var result = new FileDependencies { FileName = fileName, Dependencies = doc .Element("Project") ?.Elements("ItemGroup") .Elements("PackageReference") .Select(x => new Dependency { ProjectName = projectName, Id = x?.Attribute("Include")?.Value, Version = x?.Attribute("Version")?.Value }) }; return(result.Dependencies != null ? result : GetPackagesConfigDependencies(projectName, directory)); }
private void AddDependency() { if (FileDependencies == null) { FileDependencies = new ObservableCollection <FileDependency>(); } FileDependencies.Add(FileDependency.Create()); }
private void RemoveDependency(FileDependency param) { if (FileDependencies == null) { return; } FileDependencies.Remove(param); if (FileDependencies.Count == 0) { FileDependencies = null; } }