示例#1
0
        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));
        }
示例#2
0
 private void AddDependency()
 {
     if (FileDependencies == null)
     {
         FileDependencies = new ObservableCollection <FileDependency>();
     }
     FileDependencies.Add(FileDependency.Create());
 }
示例#3
0
 private void RemoveDependency(FileDependency param)
 {
     if (FileDependencies == null)
     {
         return;
     }
     FileDependencies.Remove(param);
     if (FileDependencies.Count == 0)
     {
         FileDependencies = null;
     }
 }