IEnumerable <ITaskItem> GetSolutionItems() { foreach (var slnproj in SlnProjects) { var project = ProjectUtil.LoadProject(slnproj); foreach (var item in project.GetItems("SolutionItem")) { yield return(CreateSolutionItem(item, slnproj)); } } }
IEnumerable <ITaskItem> GetProjectMetadataList() { foreach (var slnproj in SlnProjects) { foreach (var configuration in Configurations) { foreach (var platform in Platforms) { var slnProjectInstance = ProjectUtil.LoadProject(slnproj, configuration.ItemSpec, platform.ItemSpec); foreach (var projectItem in slnProjectInstance.GetItems("Project")) { var projectConfiguration = projectItem.GetMetadataValue("Configuration"); var projectPlatform = projectItem.GetMetadataValue("Platform"); var projectPath = Path.IsPathRooted(projectItem.EvaluatedInclude) ? projectItem.EvaluatedInclude : Path.Combine(Path.GetDirectoryName(slnProjectInstance.FullPath), projectItem.EvaluatedInclude); var projectInstance = ProjectUtil.LoadProject(projectPath.Replace('\\', Path.DirectorySeparatorChar), projectConfiguration, projectPlatform); yield return(CreateProjectMetadata(slnproj, projectInstance, projectItem, configuration.ItemSpec, platform.ItemSpec)); } } } } }