public Project(string path, string solutionName, ProjectXml projectXml) { this.Name = System.IO.Path.GetFileNameWithoutExtension(path); this.Path = System.IO.Path.GetFullPath(path); this.SetPackageRefererences(projectXml, solutionName); this.SetProjectRefererences(projectXml, solutionName); //this.DisablePostBuildTargets(projectXml, solutionName); }
private IEnumerable <ParsedPath> FindReferenceHintPaths() { var ns = new XmlNamespaceManager(new NameTable()); ns.AddNamespace("msb", MsbuildNamespaceUri); var hintPathElements = ProjectXml.XPathSelectElements("//msb:HintPath", ns); return(hintPathElements .Select(element => new ParsedPath(element.Value)) .Where(parsed => parsed.Parts.Count > 0)); }
private void SetPackageRefererences(ProjectXml projectXml, string solutionName) { this.PackageDependencies = new List <PackageReference>(); foreach (var package in projectXml.ItemGroups.Where(x => x.PackageReference.Count != 0).Select(x => x.PackageReference)) { foreach (var candidate in package.Where(x => x.Include.StartsWith(/*"CoreXF"*/ solutionName)).Select(x => new PackageReference(x))) { var found = this.PackageDependencies.SingleOrDefault(x => x.Name == candidate.Name); if (found == default) { this.PackageDependencies.Add(candidate); } } } }
internal ProjectXml ValidateAndInsertPrjHdr(string EnvironmentName, string ProjectId, string PrjNm, int CKy, int UsrKy) { string actionUri = "ValidateAndInsertPrjHdr"; Dictionary <string, object> paramDictionary = new Dictionary <string, object>(); paramDictionary.Add("CKy", CKy); paramDictionary.Add("UsrKy", UsrKy); paramDictionary.Add("ProjectId", ProjectId); paramDictionary.Add("PrjNm", PrjNm); ProjectXml list = new ProjectXml(); list = RunApiOperation( validateAndInsertBaseUri, actionUri, EnvironmentName, paramDictionary, list.GetType()) as ProjectXml; return(list); }
public override IEnumerable <PackageReferenceInfo> LoadPackageReferences() { var packagesRootFolder = GetPackagesRootFolder(); var packages = GetPackages(); return(packages.Where(p => p != null)); IEnumerable <PackageReferenceInfo> GetPackages() { var elements = ProjectXml.XPathSelectElements("//PackageReference"); return(elements.Select(e => { var packageId = e.Attribute("Include")?.Value; var version = e.Attribute("Version")?.Value; if (!String.IsNullOrWhiteSpace(packageId) && !String.IsNullOrWhiteSpace(version)) { var folder = GetPackageFolder(packageId, version); return new PackageReferenceInfo( packageId, version, rootFolderPath: folder, libSubfolderPath: "lib"); } return null; })); } string GetPackageFolder(string packageId, string version) { var packageFolderPath = Path.Combine( packagesRootFolder, packageId.ToLower(), version.ToLower()); return(packageFolderPath); } }