protected override FileProjectLoaderBase CreateProjectLoader(ProjectInfo info) { LanguageID id = LanguageHelper.FromProjectLanguageTag(info.ProjectLangTag); switch (id) { case LanguageID.Basic: case LanguageID.CSharp: return new VS2005VSLangProjectLoader(); } return base.CreateProjectLoader(info); }
// private methods... #region CreateProjectLoader protected virtual FileProjectLoaderBase CreateProjectLoader(ProjectInfo info) { LanguageID id = LanguageHelper.FromProjectLanguageTag(info.ProjectLangTag); switch (id) { case LanguageID.Basic: case LanguageID.CSharp: return new Vs2002VSLangProjectLoader(); case LanguageID.Cpp: case LanguageID.CppMe: return new Vs2002VCProjectLoader(); } return null; }
protected override ProjectElement LoadProject(ProjectInfo info, Hashtable projects, string configuration, string platform) { XmlDocument lDoc = new XmlDocument(); lDoc.Load(info.FilePath); string lProjectDir = Path.GetDirectoryName(info.FilePath); CppProjectElement lProject = new CppProjectElement(info.Name); lProject.SetFullName(info.FilePath); LoadReferences(lProject, projects, lDoc, lProjectDir, info.ProjectLangTag); LoadImportedNamespaces(lProject, lDoc, lProjectDir, info.ProjectLangTag); LoadFiles(lProject, lDoc, lProjectDir, info.ProjectLangTag); LoadRootNamespace(lProject, lDoc, lProjectDir, info.ProjectLangTag); LoadCompileUnits(lProject, lDoc, lProjectDir, info.ProjectLangTag); return lProject; }
public override ProjectElement Load(ProjectInfo info, Hashtable projects, string configuration, string platform) { return LoadProject(info, projects, configuration, platform); }
public override ProjectElement Load(ProjectInfo info, Hashtable projects) { return LoadProject(info, projects, string.Empty, string.Empty); }
protected virtual ProjectElement LoadProject(ProjectInfo info, Hashtable projects, string configuration, string platform) { ProjectElement projectElement = CreateProjectElement(info); XmlDocument lDoc = new XmlDocument(); lDoc.Load(info.FilePath); string lProjectDir = Path.GetDirectoryName(info.FilePath); LoadRootNamespace(projectElement, lDoc, lProjectDir, info.ProjectLangTag); LoadReferences(projectElement, projects, lDoc, lProjectDir, info.ProjectLangTag); LoadImportedNamespaces(projectElement, lDoc, lProjectDir, info.ProjectLangTag); LoadFiles(projectElement, lDoc, lProjectDir, info.ProjectLangTag); return projectElement; }
protected virtual ProjectElement CreateProjectElement(ProjectInfo info) { if (info.ProjectLangTag != "VisualBasic") return new ProjectElement(info.Name, info.FilePath, info.Kind); ProjectElement projectElement = new DX_VBLanguage.VBProjectElement(info.Name); projectElement.SetFullName(info.FilePath); projectElement.SetKind(info.Kind); projectElement.SetLanguage(LanguageID.Basic.ToString()); return projectElement; }
public abstract ProjectElement Load(ProjectInfo info, Hashtable projects, string configuration, string platform);
public abstract ProjectElement Load(ProjectInfo info, Hashtable projects);
void AddProjectRefernces(ProjectInfo info, string line) { int equalsIdx = line.IndexOf(STR_Equals); if (equalsIdx >= 0) { string propertiesLine = line.Substring(equalsIdx + 1); propertiesLine = RemoveStringQuotes(propertiesLine); string[] refs = propertiesLine.Split(';'); foreach (string rf in refs) { string[] refValue = rf.Split('|'); info.AddProjectReference(refValue[0]); } } }
protected ProjectInfo GetProjectInfo(string solutionDir, string line) { ProjectInfo lInfo = new ProjectInfo(); GetProjectName(solutionDir, line, out lInfo.Name, out lInfo.FilePath, out lInfo.Guid); lInfo.ProjectLangTag = GetProjectLanguageTag(lInfo.FilePath); lInfo.Kind = GetProjectKind(line); return lInfo; }
// protected methods... protected override ProjectElement LoadProject(ProjectInfo info, Hashtable projects, string configuration, string platform) { if (info.Kind == STR_SolutionFolder) { return null; } if (info.Kind == ProjectTypeGuidConstants.WebSite) { return LoadWebSiteProject(info, projects); } string projectDir = Path.GetDirectoryName(info.FilePath); ProjectElement result = CreateProjectElement(info); MsBuildProjectLoader msBuildLoader = new MsBuildProjectLoader(info.FilePath); result.OptionStrict = msBuildLoader.OptionStrict; result.SetRootNamespace(msBuildLoader.RootNamespace); result.SetAssemblyName(msBuildLoader.AssemblyName); result.SetTargetFramework(msBuildLoader.TargetFramework); LoadProjectTypeGuids(result, msBuildLoader); LoadNotImportStdLibOption(result, msBuildLoader); LoadProjectDefines(result, msBuildLoader, configuration, platform); LoadReferences(result, msBuildLoader, projectDir); LoadProjectReferences(result, msBuildLoader, projects); LoadImportedNamespaces(result, msBuildLoader); LoadFiles(result, msBuildLoader, projectDir); return result; }
private void LoadWebSiteProjectReferences(ProjectElement result, ProjectInfo info, Hashtable projects) { foreach (string prjRefGuid in info.ProjectReferences) { ProjectInfo prfRefInfo = FindProjectByGuid(projects, prjRefGuid); if (prfRefInfo == null) { continue; } AssemblyReference projectRef = new AssemblyReference(String.Empty); projectRef.SetSourceProjectFullName(prfRefInfo.FilePath); result.AddReference(projectRef); } }
private void LoadWebSiteReferences(ProjectElement result, ProjectInfo info) { WebConfigInfo webConfigInfo = WebConfigInfo.Create(result); if (webConfigInfo.Assemblies == null) { return; } foreach (string assembly in webConfigInfo.Assemblies) { string path = assembly; if (!File.Exists(path)) { path = GetAssemblyPath(assembly); } if (!String.IsNullOrEmpty(path)) { AssemblyReference resultReference = new AssemblyReference(path); result.AddReference(resultReference); } } }
private ProjectElement LoadWebSiteProject(ProjectInfo info, Hashtable projects) { ProjectElement result = CreateProjectElement(info); result.SetIsWebSite(true); //result.SetTargetFramework(msBuildLoader.TargetFramework); LoadWebSiteProjectReferences(result, info, projects); LoadFilesFromPath(result, info.FilePath); LoadWebSiteReferences(result, info); return result; }