/// <summary> /// Get the parent node of an msbuild item /// </summary> /// <param name="item">msbuild item</param> /// <returns>parent node</returns> private HierarchyNode GetItemParentNode(MSBuild.BuildItem item) { var isLink = IsLinkNode(item); var path = isLink ? item.GetMetadata("Link") : item.FinalItemSpec; var dir = Path.GetDirectoryName(path); return Path.IsPathRooted(dir) || string.IsNullOrEmpty(dir) ? this : CreateFolderNodes(dir); }