public List <ProjectAsmReference> GetReferenceAsmList(string projectFile) { string fullProjectName = GetFullProjectPath(projectFile); List <ProjectAsmReference> asmReferenceList = new List <ProjectAsmReference>(); Project pro = GlobalLoadedProject.LoadProject(fullProjectName); foreach (ProjectItem item in pro.AllEvaluatedItems) { switch (item.ItemType) { default: { } break; case "BootstrapperPackage": case "None": break; case "Compile": //skip break; case "ProjectReference": asmReferenceList.Add(new ProjectAsmReference(item, ProjectAsmReferenceKind.ProjectReference)); break; case "Reference": asmReferenceList.Add(new ProjectAsmReference(item, ProjectAsmReferenceKind.Reference)); break; } } return(asmReferenceList); }
MergeProject CreateMergeProjectPlan(SolutionProject project) { MergeProject mergePro = new MergeProject(); List <ProjectAsmReference> asmRefs = _solutionMx.GetReferenceAsmList(project.RelativePath); mergePro.PostMergeRefs = _solutionMx.GetPostMergeReferences(project.RelativePath); // string fullProjectDir = System.IO.Path.GetDirectoryName(_solutionMx.SolutionDir + "\\" + project.RelativePath); string projFilename = System.IO.Path.GetFileName(project.RelativePath); int j = asmRefs.Count; for (int i = 0; i < j; ++i) { ProjectAsmReference asmRef = asmRefs[i]; switch (asmRef.Kind) { case ProjectAsmReferenceKind.ProjectReference: string result = System.IO.Path.Combine(fullProjectDir, asmRef.Name); if (!System.IO.File.Exists(result)) { } mergePro.LoadSubProject(result); break; case ProjectAsmReferenceKind.Reference: mergePro._asmReferences.Add(asmRef.Name); break; } } //---------- //find var pro = GlobalLoadedProject.LoadProject(fullProjectDir + "\\" + projFilename); foreach (var item in pro.AllEvaluatedProperties) { //select some our interest features switch (item.Name) { case "DefineConstants": mergePro.DefineConstants = item.EvaluatedValue; break; case "TargetFrameworkVersion": mergePro.TargetFrameworkVersion = item.EvaluatedValue; break; } } return(mergePro); }
public List <ProjectAsmReference> GetReferenceAsmList(string projectFile) { string fullProjectName = GetFullProjectPath(projectFile); List <ProjectAsmReference> asmReferenceList = new List <ProjectAsmReference>(); Project pro = GlobalLoadedProject.LoadProject(fullProjectName); foreach (ProjectItem item in pro.AllEvaluatedItems) { switch (item.ItemType) { default: { } break; case "BootstrapperPackage": case "None": break; case "Compile": //skip break; // { // string onlyFileName = Path.GetFileName(item.EvaluatedInclude); // if (onlyFileName != "AssemblyInfo.cs") //special case ***no include this file // { // allItems.Add(item); // } // } // break; case "ProjectReference": asmReferenceList.Add(new ProjectAsmReference(item, ProjectAsmReferenceKind.ProjectReference)); break; case "Reference": asmReferenceList.Add(new ProjectAsmReference(item, ProjectAsmReferenceKind.Reference)); break; } } return(asmReferenceList); }
public void Load(string projectFile) { this.ProjectFileName = projectFile; Project pro = GlobalLoadedProject.LoadProject(projectFile); foreach (var item in pro.AllEvaluatedProperties) { //select some our interest features switch (item.Name) { case "DefineConstants": DefineConstants = item.EvaluatedValue; break; case "TargetFrameworkVersion": TargetFrameworkVersion = item.EvaluatedValue; break; } } foreach (ProjectItem item in pro.AllEvaluatedItems) { switch (item.ItemType) { case "Compile": { string onlyFileName = Path.GetFileName(item.EvaluatedInclude); if (onlyFileName != "AssemblyInfo.cs") //special case ***no include this file { allItems.Add(item); } } break; case "Reference": break; } } }
public void Load(string projectFile) { this.ProjectFileName = projectFile; Project pro = GlobalLoadedProject.LoadProject(projectFile); foreach (var item in pro.AllEvaluatedProperties) { //select some our interest features switch (item.Name) { case "DefineConstants": if (DefineConstants != null) { } DefineConstants = item.EvaluatedValue; break; case "TargetFrameworkVersion": TargetFrameworkVersion = item.EvaluatedValue; break; } } foreach (ProjectItem item in pro.AllEvaluatedItems) { switch (item.ItemType) { case "Compile": { string onlyFileName = Path.GetFileName(item.EvaluatedInclude); if (onlyFileName != "AssemblyInfo.cs") //special case ***no include this file { allItems.Add(item); } } break; case "Reference": break; } } foreach (ResolvedImport imp1 in pro.Imports) { if (imp1.ImportedProject.FullPath != null && imp1.ImportedProject.FullPath.EndsWith(".projitems")) { //this is shared project //...the we //read this shared project too.. Project sharedProj = GlobalLoadedProject.LoadProject(imp1.ImportedProject.FullPath); foreach (ProjectItem item in sharedProj.AllEvaluatedItems) { switch (item.ItemType) { case "Compile": { string onlyFileName = Path.GetFileName(item.EvaluatedInclude); if (onlyFileName != "AssemblyInfo.cs") //special case ***no include this file { allItems.Add(item); } } break; case "Reference": break; } } } } }