コード例 #1
0
 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));
         }
     }
 }
コード例 #2
0
 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));
                 }
             }
         }
     }
 }